|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
Teamcenter二次开发源码分享: 报告用户登录信息
5 L6 @3 I" ~" V! q- ]4 b2 J2 f! D, x6 U: i
) H4 U0 f4 r' Z T# s+ VTeamcenter c++ 方式:; g/ t0 k9 u% R4 A
+ Z' O' s, c! n2 v; i
& Y5 j7 L' \2 M: D: ]5 u#include <iostream>
+ ]6 p: V" @+ N#include <sa/group.h>
1 I g v1 H* s: M#include <sa/user.h>( b9 \' ]( h5 o, _) p4 D% J& [
#include <TC/LoggedInUser.hxx>/ ?4 Y. A: _* r) _2 a/ z
6 F) Q9 a/ |) v+ |
7 \6 A: ` B5 q( m" s9 q; Y! }! E9 uusing namespace Teamcenter;
1 r5 `3 l* H* j, q9 zusing namespace Core;% k" f& E' Z/ d" L+ Z3 p8 z/ G
using namespace std;; ]$ g( U0 |) T- d. m
3 |3 p& O( `% d( f) U9 O; U' J" @1 ~8 O5 W; P
static void reportCurrentLoginInfomation() C) q1 {6 C5 O0 L( w) d3 u
{
6 R$ Y+ [! ]5 i2 h, r int ifail = ITK_ok;
- w2 r" W3 H% N. p0 `" x, N LoggedInUser* loggedInUser = LoggedInUser::getInstance();
; |$ y0 f$ }& R& m 8 _3 J9 x0 ]5 M( A3 d& M D
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
# U P& [( A/ W: a- v cout << " currentUserTag: " << currentUserTag << endl;1 u. }# \# C+ V% R" N
2 M, J! J0 K( X% l/ ~
char *personName = NULL;
0 t) ?' J/ k, @# t) z- d$ H" v IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
& g# ]4 R+ j0 E cout << " personName: " << personName << endl;1 p: s8 h/ a1 j$ Z. o
if(personName) MEM_free(personName);! ]4 G1 T/ J' `5 Q8 S1 |
& w$ Z8 V" c1 h, s! t
const char* userID = loggedInUser->getCurrentUserID();5 }9 t( R' ~, {& C) a! V- G
cout << " userID: " << userID << endl;" ^/ O$ y5 b: g. s) ^1 N
, D! \$ K: T3 B" `: B8 o* ^, I* D) a5 e2 n, V! K/ J
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
% f# {5 b8 s2 l: Q
% D9 M# Z" C: l: {; A char *groupName = NULL;
. S: T2 c1 n6 \2 f5 t0 s; a7 c IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));& ^4 B0 O8 Q7 l4 a! P {
cout << " groupName: " << groupName << endl;
7 U( P' B! C+ E5 n+ G if(groupName) MEM_free(groupName);3 O' H6 j1 J7 X P# Y
& H5 l! C1 H9 m) M7 o( l6 L2 s2 U
9 D: _( [. ^/ g& W+ t
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
; c8 g9 R* O$ U char *roleName = NULL;* d3 X: |/ I1 U2 W0 k
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));9 O9 h$ ^* C9 h4 K/ h
cout << " roleName: " << roleName << endl;
4 G8 K1 H7 f& G7 A, w if(roleName) MEM_free(roleName);5 h- P# v3 s# L5 I6 \
% s" ~$ a3 K- P. F8 u logical isDba = loggedInUser->isUserSystemAdministrator();2 M8 k8 z* F: L" Z0 [* W7 I8 g
if(isDba == TRUE) cout << " User is dba member "<< endl;) @0 u( Z. P6 d% A7 k& S
if(isDba == FALSE) cout << " User is not dba member "<< endl; - R \7 w" Z& u. S: M; @3 r( N
}. f# j/ {3 y# \/ |4 \7 c$ a- F
' b' [4 h: x. j; k6 x4 m0 |: R# v1 h9 n
0 ?* { Y) x- I
( X- s1 W* K' c
7 {% |7 ~2 M7 R6 r, j
Teamcenter ITK 方式:; v6 G, z9 B/ n0 M
. S0 s3 ?, n# x4 g! B9 `
( B. Z* {: U& N$ A! D/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */ g& t9 Z; J" w5 C/ q+ X
static void report_current_login_infomation()
# R7 w/ L- h5 ?{
u/ d" G- O6 ~( H tag_t
]1 d" [ d' v8 v1 r6 `2 a# V current_member = NULLTAG,
. I% H g9 z) z1 ?' u$ D- x current_user = NULLTAG, + u: ^4 |1 [3 H" }0 l5 V. h
current_group = NULLTAG, : F1 r) z' i' N( p4 C5 Z; I. Z
current_role = NULLTAG;- P1 R Q" F- f W( f
char
) v# W# f& _/ P( a" B0 m1 f0 m person_name[SA_person_name_size_c+1] = "",
% H% t, ~( U0 T' Y9 T5 `- A! ` user_id[SA_user_size_c+1] = "",
: w' U% {8 w) \% K! V" b) D7 G) u group_name[SA_name_size_c+1] = "",, l4 V; J# L9 }9 a& M3 o
role_name[SA_name_size_c+1] = ""; 8 v4 H+ t; C9 d! [" d3 @7 S$ }' X
+ V0 ?0 S+ t( `0 p6 r- B1 T! o( g& a3 M
) `) f$ N& g/ H9 W M! P IFERR_ABORT(SA_ask_current_groupmember(¤t_member));4 T" e' z C* h7 h
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));/ F& E, p7 ?0 Y
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));, t! T' y) J" C' e' z
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
. _2 [& x9 s( t8 X' c
6 i9 l5 X3 a& Q2 f0 g m$ T, f4 M
z- L, k1 O" m1 @" R" G0 G IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));( g9 h. u! _# P D: M, w
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));" V/ q5 P% q7 [
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
4 }4 h9 K- q( p% A8 C6 D6 x) p IFERR_REPORT(SA_ask_role_name(current_role, role_name));, M' h& e+ t+ N0 M9 M6 q
, u Y- t4 k" S0 C9 M+ s* V, @: F% o1 c
+ Y" X. n# X7 I5 J s1 H ECHO("\n Person: %s\n", person_name);
# N3 W- w% v5 F" x' y; Q ECHO(" User ID: %s\n", user_id);
$ d4 J, P Y, |8 w( L0 O3 t% n8 J ECHO(" Group: %s\n", group_name);
, s0 }$ T0 d. B ECHO(" Role: %s\n", role_name);4 I( o5 c n! Z/ M& z. ^
}' V; y" [0 @/ f4 y6 e( z
: l2 v. n r3 Q" o4 p8 o
|
|