查看: 3259|回复: 0

Teamcenter二次开发源码分享: 报告用户登录信息

[复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2017-11-20 13:49:47 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
Teamcenter二次开发源码分享: 报告用户登录信息
9 s, g# w  c1 Y
' p2 m# x/ X! U
# W, ~  z$ ~3 ]% K
Teamcenter c++ 方式:
5 e7 P1 _" V- \2 h* e, ?  R8 i4 _. s; N
, q; a4 H$ h$ s# M8 W: H
#include <iostream>5 x* a1 h% W7 }' n- ~
#include <sa/group.h>
* w, B7 u' t* v9 L% `; C" E3 a* }#include <sa/user.h>
9 s8 v8 l5 R& ~0 ^# ~#include <TC/LoggedInUser.hxx>8 Z6 v6 K7 p  |1 B* P/ H
5 K1 _# I2 L9 O/ J4 `0 Z
7 t- q* r# e) K6 p
using namespace Teamcenter;
" N6 \' z/ u3 {( j$ jusing namespace Core;
8 O0 L' ~; y2 W9 J% x" Ousing namespace std;
% W! `  `. O. x+ o, M
$ l. v4 J* \$ k5 q9 H
2 H/ Y6 P0 i, w1 S/ ~
static void reportCurrentLoginInfomation()
4 N8 h; t+ D* \' W, P8 i6 U& d{
3 J9 @$ t  X% \) e% \    int ifail = ITK_ok;8 J7 e" H! H% `% `! W- f# T4 E' }+ S
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
1 `; e. B; `" ?# Y' \8 Y   
7 ?! r) e; Z& j( f# o( h3 }  q8 D    tag_t currentUserTag = loggedInUser->getCurrentUserTag();- L6 w  d' ?, N) t4 M) I- Q. z
    cout << "    currentUserTag: " << currentUserTag << endl;! u0 q# q6 A" r8 u$ e% t: o! d
    9 Q; M& v" |5 R* Q% l
    char *personName = NULL;- q* `0 K1 q" T2 u
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
1 k) X0 o8 U/ B& ?9 ]    cout << "    personName: " << personName << endl;
% e' z0 G! V! Y- t) N; i    if(personName) MEM_free(personName);- g3 h. D# y$ x  s
    4 e6 j: q7 q% p7 q; V
    const char* userID = loggedInUser->getCurrentUserID();' H; v, H# I4 G, T& |; P; q3 e
    cout << "    userID: " << userID << endl;2 K% D0 d. w. @0 |
) K# w' g0 q8 q/ I  _" x, V

! D( J# V  j4 S    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
1 v1 t# N2 p4 J& S2 u! l    3 I4 ^7 k& q3 |! M0 x: m; F
    char *groupName = NULL;' Z' Z! y# J$ Y; h, {$ ~8 b) f9 R
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
  B; ]( }2 K* {3 n3 ]. n    cout << "    groupName: " << groupName << endl;* A. Y3 |, x8 _8 O  L9 _+ _
    if(groupName) MEM_free(groupName);4 f2 C8 ?: h7 o- J6 ]" ^

" G$ c4 s+ p* v6 ]5 q0 U" B* _9 h

/ J8 j, b$ u: ~* J    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
- A0 J* l- ]3 r" Q  M7 A    char *roleName = NULL;
2 g1 T+ P# |' Y/ p3 }0 ~; D    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
' [( i& n/ i8 t    cout << "    roleName: " << roleName << endl;
* I* n, ]9 n) {! z( ?    if(roleName) MEM_free(roleName);- N5 f) q" F/ o1 U, A& ?
   
3 F  u# `; \4 E' y  w' w1 j    logical isDba = loggedInUser->isUserSystemAdministrator();9 H& S2 w+ v2 g; w# Z  Q* B4 V
    if(isDba == TRUE) cout << "    User is dba member "<< endl;  E  D" f' w: }$ }% O+ Y' {! r  |. x5 a
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       & h6 x# f7 j8 y& X  }. g
}
0 x7 `" M0 j* C' c1 b# L7 W/ ^; c
) ^6 X( A1 i9 _4 o7 O5 D; @0 Y4 j; ?* [7 L7 m$ }

* C0 r9 n: m. O! \5 b0 Q; |. l  S" F2 ~; i

! h* r. Y" Y5 HTeamcenter ITK 方式:; c$ M% E( ?! U# [" f6 ~" v
7 R& E5 M# F& Z$ A  {% Y3 ]* W

) f3 D" R4 v' @6 D2 N/ F2 \2 P/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */, k4 O8 N  ?  h4 l1 ]# _* U# T
static void report_current_login_infomation()
5 A. _' _( }0 y) `2 P! a{! V( o* H" p8 r
    tag_t
( ?5 m" v, R2 F# _' l        current_member = NULLTAG,
: Z$ i- `6 ]7 X# C: g        current_user = NULLTAG, - L  n9 A/ N, D
        current_group = NULLTAG,  ( i+ t7 X7 C( S# t' a# i! y
        current_role = NULLTAG;% s- x% u# e8 K4 m0 y% j
    char
' p3 g1 V, {% I; O* u4 @        person_name[SA_person_name_size_c+1] = "",
- z' u+ S. [7 D* \5 I5 {8 E        user_id[SA_user_size_c+1] = "",  
: }" y" y1 _% \' Q0 L  \        group_name[SA_name_size_c+1] = "",
. N8 a# j6 ~2 [; q$ Q        role_name[SA_name_size_c+1] = "";  1 C+ k' Y% y  O( i4 G1 ?' m

2 k5 ~/ J5 b. z+ v( t" g( y# R
, o; I$ u: b$ A: g7 C7 G* B- b+ b
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));' [5 o! r- a: D7 o3 M
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));1 X% P" C9 e  |. P* s5 T
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));/ A0 M/ I2 K% c1 y
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));3 I2 j; z$ T; ]3 k( n3 p& V
* K1 V5 ]7 n3 E( p

: l' `; l4 i  i! N2 n    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
" z" e8 e$ `, N3 m9 \6 V0 V    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
, s6 P( {9 P+ y: _    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
  y0 R+ Q3 C+ q4 X    IFERR_REPORT(SA_ask_role_name(current_role, role_name));1 Z( T1 q( ]5 @; }" |5 c7 j

, y7 @8 ?7 @3 S9 M% C" }

0 }3 q2 P  F: v3 z. D5 p" \    ECHO("\n        Person: %s\n", person_name);% A! L/ O  @# {; W6 j! |: @2 y
    ECHO("       User ID: %s\n", user_id);
5 W6 c( `* y# l. _- r/ Y    ECHO("         Group: %s\n", group_name);) P" L" v$ y: j* |
    ECHO("          Role: %s\n", role_name);
3 b6 W5 x, @0 {7 Q7 K}
3 }" k- i2 b9 W
8 I2 W9 m2 J* R' H5 @* o$ {
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部