|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
% J9 T$ n/ c$ Z! {6 L I8 w! l
Teamcenter二次开发源码分享: 获取当前用户信息
: _ n4 H5 m! y! ?# b f. X* l* Y: P. ?2 _$ i1 G) O# `
[mw_shl_code=cpp,true]#include <iostream>7 O+ s4 f' D9 s$ r$ A& @" E
#include <sa/group.h>
, R/ T. j! i! f0 l, @#include <sa/user.h>' ~$ _2 ^7 f$ {8 ^7 N, W: U: v
#include <TC/LoggedInUser.hxx>2 f! d% [8 A. M! v
6 D. @* e, T! N5 t5 \" C, Husing namespace Teamcenter;
~+ ~+ N. V0 I7 v+ b3 e ]using namespace Core;
r+ m" m" D& i# `using namespace std;$ }% p8 Y% r; C0 n
8 Y1 {5 Q4 {) _8 N2 J8 Ustatic void reportCurrentLoginInfomation()0 Z" ^; ?, B6 i% g% U
{
! a5 I" L2 j5 X* F+ u9 H; C: ~# W) Y int ifail = ITK_ok;% r! w" w8 h* N
LoggedInUser* loggedInUser = LoggedInUser::getInstance();' S- {9 l1 ^) U2 A7 q7 G
# t' d1 D; o) j! J% j+ j$ |; }+ U tag_t currentUserTag = loggedInUser->getCurrentUserTag();3 }$ x" x* \- v4 w' c7 A1 w
cout << " currentUserTag: " << currentUserTag << endl;3 R; k( y: g+ D- Y( z3 W) F: a
2 D/ a( X1 o# m char *personName = NULL;
. @0 a* B6 o7 J& G( @. a" N; O IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
8 N! r( @: O l cout << " personName: " << personName << endl;
; ` J- L" J1 A. V if(personName) MEM_free(personName);( N' e1 c, C( k( i7 r0 h8 N- v# t
$ L" o: N3 I. {' A
const char* userID = loggedInUser->getCurrentUserID();" z" z1 ^3 f2 W9 o5 C
cout << " userID: " << userID << endl;
0 A: D, X+ A: b+ S6 @' Y' G
& I( l6 A# i% O3 S! U$ x tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
! P Z4 |# t% G: P# M
) P! ^8 C% H- e- S7 n' o, Z char *groupName = NULL;
# y, \' }: F8 @7 r6 X IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
/ M' H% }8 S. w M7 g6 K" H% |6 u cout << " groupName: " << groupName << endl; `$ A$ D* ~- D( p* K, Z T& ^( B
if(groupName) MEM_free(groupName);
7 n8 }3 ~# o3 m$ V$ d k# R" G) L4 P+ I/ t. m8 x
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();% N- V* E) R7 p, q; @
char *roleName = NULL;2 e4 ^( @8 W$ w3 O7 H/ L
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
! n+ _: F0 Z% w6 B: T cout << " roleName: " << roleName << endl;0 q! Z/ D$ V$ X$ ]1 G
if(roleName) MEM_free(roleName);
8 ^+ Z% a2 A8 e 7 g" l5 ]6 ^: j# O: V5 A
logical isDba = loggedInUser->isUserSystemAdministrator();: m" O$ T. S3 a$ Q Z/ Y
if(isDba == TRUE) cout << " User is dba member "<< endl;/ b! n; Z# r2 k3 X5 f% _9 _
if(isDba == FALSE) cout << " User is not dba member "<< endl; . V4 ~& [2 z" L5 @. ]0 F4 B
}[/mw_shl_code]
, t' W( n) r/ _( V4 c |
|