|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
3 J1 g) B' G# N3 m
Teamcenter二次开发源码分享: 获取当前用户信息
5 G" o' |. v4 m1 L1 j! A" S+ {$ o
. U7 z1 ]) g; r[mw_shl_code=cpp,true]#include <iostream>
2 l% ^( q, p# r, o5 F#include <sa/group.h>
; z) A4 E& o$ q* [3 e- t#include <sa/user.h>
- e5 R. y+ z, q) O#include <TC/LoggedInUser.hxx>9 W+ m5 p" S6 X2 M
* Q+ u" v0 a# A( q
using namespace Teamcenter;
, T! r2 G L( c3 r9 j' fusing namespace Core;
- _; o4 ? H. }, X7 a1 susing namespace std;
0 g; L! `/ M0 e! O$ H7 g% s9 k( u6 o6 {+ L
static void reportCurrentLoginInfomation()
' H4 v$ ?4 S, H{7 H% t, O6 L: Y5 T' K& I
int ifail = ITK_ok;
) Y2 U5 K0 h# @( k# i+ S$ C( f P LoggedInUser* loggedInUser = LoggedInUser::getInstance();0 Q7 e R, e% j
0 w; p7 g( [' j- a1 F k
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
5 L- N; Y5 S+ v$ a' \2 H) T. V cout << " currentUserTag: " << currentUserTag << endl;
8 |4 I+ l" ~6 n! b# J9 N: q4 d ; Y9 m9 Z2 v5 Z3 K2 Q
char *personName = NULL;
6 d+ U# V- M; R7 K! Q) N IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
% l+ O; y0 z9 S cout << " personName: " << personName << endl;
; M5 \% C7 C R if(personName) MEM_free(personName);
! X s7 O- U3 |7 X) W & a0 Z' f7 o0 v# {6 {
const char* userID = loggedInUser->getCurrentUserID();
" I7 I/ w7 }/ u8 \1 ? cout << " userID: " << userID << endl;
( J; n4 ~) W6 Q" p# T: g9 G: u n
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();3 j4 c" U2 G ~0 B
/ [- x$ I {, \& G
char *groupName = NULL;
- l* q6 M% ?( x( B7 P IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));9 E' l2 S8 t& y/ {) P4 f8 j
cout << " groupName: " << groupName << endl;, c3 u' k2 W: g4 x! \
if(groupName) MEM_free(groupName);3 X8 w) z' ^( F# G' L
, ?* M1 q. K ?/ F( u
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
8 a! r) \. K- G/ {# k# v _1 l) W% p char *roleName = NULL;
: \( [! p4 X# P# Y. S8 x" G IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
8 w8 W% F6 S. r cout << " roleName: " << roleName << endl;* A ~7 P- _+ M, H* l! V% z9 d
if(roleName) MEM_free(roleName);. J5 g+ k w/ ?: {9 c" M
! A+ H2 g% g5 K% z& r1 d2 m
logical isDba = loggedInUser->isUserSystemAdministrator();+ V5 h- U* N5 m
if(isDba == TRUE) cout << " User is dba member "<< endl;' D# l, B$ Z* r N1 B
if(isDba == FALSE) cout << " User is not dba member "<< endl; 5 A- X) Q t1 n N; S# H
}[/mw_shl_code]
7 q$ w( f! S8 H$ B/ N3 R& v |
|