PLM之家PLMHome-工业软件践行者

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

[复制链接]

2017-11-20 13:49:47 3151 0

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息; w. H$ L' K/ o# T  ?

$ f& x! g2 V; y+ r2 Z

& d& g8 u' c. S  _" ?/ j' B2 `Teamcenter c++ 方式:  L# W" A7 [# s5 V  z8 S* N/ z8 N
5 Q- _/ s, ^+ R6 I" x
& Z+ B+ Q  H& ^. {
#include <iostream>
. w8 `* A. b( C3 j& i. y. N% G#include <sa/group.h>
6 [! \' K" q6 q7 J; f3 b#include <sa/user.h>  ]7 N/ c/ K/ M9 n
#include <TC/LoggedInUser.hxx>
% ^5 w4 s( I3 c, G$ A  O4 n. }$ q( X

8 ?3 x7 q8 S! j& Lusing namespace Teamcenter;
# M5 _- p" R0 nusing namespace Core;' p+ K4 Z' X- U* n4 B
using namespace std;
' L- F6 y' ^' j- v
+ X+ U" q& \- P$ U: N1 k* u1 w5 Q! n
* q9 U& q, V% F& p# y8 |; |9 p# r
static void reportCurrentLoginInfomation()
" i) E& \0 `6 s( B( V{6 s. K9 M* w& ^, R1 q! _8 a7 n
    int ifail = ITK_ok;6 }! o# l. x! S( |- M
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
4 y8 ]- N& }5 z3 ]7 `( W   
& _% b! A; m* S4 C" z& w5 j8 w    tag_t currentUserTag = loggedInUser->getCurrentUserTag();, T3 M; t5 p5 N) f4 o9 f. l1 f
    cout << "    currentUserTag: " << currentUserTag << endl;
. `# J3 X2 N! M0 q' k; B    7 I6 [; l# q  N+ B( Y
    char *personName = NULL;
! R0 M1 w1 @* [    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));' s0 V3 q6 S% D1 N: U5 W# ^$ u) k9 F
    cout << "    personName: " << personName << endl;# d) Y: S  _4 C. B; E4 \$ j* C
    if(personName) MEM_free(personName);
! Y* I3 B% O; v' L0 ]9 z8 \! P   
* s! c% ?( i# w0 o8 C    const char* userID = loggedInUser->getCurrentUserID();. b( [9 r7 s' W+ s" t/ T1 Z
    cout << "    userID: " << userID << endl;% K% L6 @: T! u3 {: y& w1 N
6 e) v" |: C) d( m8 Q
( U0 F, d7 h9 s$ t) G
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();2 F: \/ k" i; C; B5 q2 h, s# K  S
   
* d, u/ Q) o8 ~& l6 V    char *groupName = NULL;
8 U8 G) H8 d8 [& f* p    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
" }' z- R! ]6 v; g+ K6 B    cout << "    groupName: " << groupName << endl;4 I( H+ Y9 d, e" K
    if(groupName) MEM_free(groupName);6 h: j' J4 m+ h1 N" `" ~

; {( M& ?8 k5 D0 G
5 H8 h. w2 p  O* N
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();. p5 A( K) ~# H' f4 Z/ G7 ]
    char *roleName = NULL;  g8 G0 b: N2 M
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
0 R* R: Z; S. @% M5 J7 @    cout << "    roleName: " << roleName << endl;7 j3 @0 y5 M8 M+ M5 s5 L
    if(roleName) MEM_free(roleName);" Q, u: I; J7 v, R4 A2 \
   
+ J! s' z0 s. M3 @+ Y+ \    logical isDba = loggedInUser->isUserSystemAdministrator();
( _3 i- q8 h- D( T' p2 A  B    if(isDba == TRUE) cout << "    User is dba member "<< endl;0 C9 f- I( z! O$ ^; O% k; {
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       6 V9 ]9 [" ?- B" W. x. B
}; U6 I) @9 u  ?1 K, ~
9 D: w: b  p9 @# C

7 w! ]* C* U$ e6 r4 i1 b. N

' P* a1 Q5 h# B2 B% q/ r
0 n# t5 r" J3 ~: D9 ?( X0 T$ G' S5 s
0 e$ ]' q( C' J1 f
Teamcenter ITK 方式:
& b" C& \7 f2 z' j6 Q( D* C
3 Z  A0 B) b8 r+ c( K
+ j! k* @, M+ h+ Z; n6 {' B. l3 S
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */0 T8 \! K  w/ a/ i
static void report_current_login_infomation()& T# W5 _2 i5 X1 k9 \$ t, v
{
# o  z' a( y  T) g8 Q    tag_t / T; \2 R1 E; L+ `* }5 n; H; P
        current_member = NULLTAG,
: G: m# M- ~0 I5 L, Q+ X! a        current_user = NULLTAG,
% H. M9 E5 M, {: w- c/ J+ u, G1 f2 c        current_group = NULLTAG,  
$ \/ h2 o  E0 U' w6 |        current_role = NULLTAG;' k5 }- ]3 a3 v% L
    char
$ l, y8 O$ o% `9 i& @5 L# Z  }# o        person_name[SA_person_name_size_c+1] = "",% z' `3 r6 l5 A; Y
        user_id[SA_user_size_c+1] = "",  
7 V* O! n( W4 e! j8 M, P8 i        group_name[SA_name_size_c+1] = "",
+ T! K( a6 h- U        role_name[SA_name_size_c+1] = "";  
9 t3 ^; Q3 D; K' A- O$ r( a$ `, [" M7 z- J  \0 v7 {

4 U! d; P9 ~7 u0 E) W' b9 [% y! P    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
8 A. ]) x, p+ J) n  U2 t    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
! I2 k& E, ^( Z   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
4 C: O$ |' e/ o. ~    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
9 k1 m  e9 r" c4 G/ e. W0 K
# b7 }1 h4 h5 t; u5 Y- v

" a/ ]# Q- U6 U6 x9 s' m. H    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));2 C$ O7 ^1 U3 c4 l( v
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));9 o5 y) E) U; A; a" X
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
) m8 b1 o4 Z! g1 Q5 o- b) m$ G5 S    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
, S+ a. O8 d6 O6 g- Q' h, n8 M8 n9 H) W$ d0 p# G

' O- W, r7 \  j1 d5 {' \$ t    ECHO("\n        Person: %s\n", person_name);5 J7 k5 K" m, i9 \2 v7 y  m
    ECHO("       User ID: %s\n", user_id);2 Y. U( U' H) U( c( k0 c' k! s
    ECHO("         Group: %s\n", group_name);
! R/ }5 v+ U  ], ~, R% \( \    ECHO("          Role: %s\n", role_name);
/ f+ v1 H" y% T3 |, F6 B6 `! o' y}$ ?3 ^1 G1 J) |
: `- ~5 ^$ t  y* j/ e$ f
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了