|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息5 Y$ ^ }1 Q# D- p- a
: l5 M1 R- d3 n' e3 T
' x) p, e: F5 D. K5 R2 u
Teamcenter c++ 方式:6 e# \1 d; K( q( V2 l
- S* h/ A/ Z+ e) q$ P6 v& C# O$ N7 y
#include <iostream>
1 A5 v$ G4 X- m7 ~4 Y4 Q$ e#include <sa/group.h>
J8 r3 k( Y8 ^2 _#include <sa/user.h>
! d# S4 n) z9 q#include <TC/LoggedInUser.hxx>! T" v4 ]5 }# [% ]& Y; J1 m+ [* }
! [) m }2 M) T4 B, Y
. W# ]. j) F) }. s; M- Jusing namespace Teamcenter;3 o; ^8 E0 T- D/ i
using namespace Core;9 r5 H- D4 s1 K, a) ^+ k
using namespace std;
' {7 k$ H+ h# F- O! R j9 }9 O' ^8 k* V
& o2 ^$ ~: f+ ] N4 d
; d0 m" W3 y% D; ^static void reportCurrentLoginInfomation()* ?: A5 w5 h. W" M \3 Q- ]) D2 E
{9 ?' X3 t( n1 M6 _% u, p
int ifail = ITK_ok;
( i0 S- g [& m9 n LoggedInUser* loggedInUser = LoggedInUser::getInstance();+ b! m& }: y/ Z% |
7 k! |0 s# q- q; W. F/ W, e* ? tag_t currentUserTag = loggedInUser->getCurrentUserTag();* E( } C( Y5 ~5 j# ~
cout << " currentUserTag: " << currentUserTag << endl;
; t9 {+ @# ~& ]9 K4 |$ G
2 n; J8 s% E3 U0 z% c char *personName = NULL;
' A7 I: Q9 R) W7 n3 n IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));, M' \; ?6 o* C: q Y% R
cout << " personName: " << personName << endl;: V, ~3 L/ t) U
if(personName) MEM_free(personName);) W5 V" L" _, V; x" @ Z
8 c& G }' E- C& c6 R3 C. ^5 M
const char* userID = loggedInUser->getCurrentUserID();
+ {# w! i: q0 \6 s5 Y+ { cout << " userID: " << userID << endl;, x$ X% l% p( W1 m- E" ~6 J
& ~0 p; ]; z f a" |) U- L2 x: Y3 A/ |
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
7 e9 D3 _/ k7 k3 l + d$ ~6 n6 m$ K- ^% t5 n' j/ |
char *groupName = NULL;) R1 u6 c# I w8 s' w* u
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
/ i( D8 L2 z) a" g3 T" v7 _- ~ cout << " groupName: " << groupName << endl;
7 R* w4 N% b" F) L: H( z/ s if(groupName) MEM_free(groupName);0 ]$ a! y% `% K- T9 q% W* }
) P x0 e, f4 r; G! ?7 f) G& q
N+ C6 w" I: H' W
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();/ c+ M4 N6 Q) D2 D
char *roleName = NULL;1 d2 `- D, x! E0 `
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));; N6 u8 z2 g: C, e: R s, b1 _
cout << " roleName: " << roleName << endl;4 h% H$ U0 H3 C2 V
if(roleName) MEM_free(roleName);, T8 t" ]5 ]4 D
8 U' }. {* t, q: v6 d9 ^; K9 D9 r
logical isDba = loggedInUser->isUserSystemAdministrator();
" m2 x( w1 P8 E0 v/ D e if(isDba == TRUE) cout << " User is dba member "<< endl;
& r0 R5 t1 `+ G if(isDba == FALSE) cout << " User is not dba member "<< endl;
# [% x1 v5 U0 o& Z- H! R& A4 O9 o}9 }- F$ Q" _. o2 B2 I
# r. I! T8 N# ~
9 D# Z9 ?# w& I/ _* M! x! }
! p7 R5 k1 s- h, ?+ H
4 ^0 V0 c- }2 {- b
$ ?" d- X. A- L, t: x |7 _$ wTeamcenter ITK 方式:3 M E( ^6 Z8 g9 F; f: k5 G: m5 J
) j9 @: g" v2 @. [ K" N9 G, C9 }
( B/ V7 x) l* Z/ |/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
' {2 j/ ^1 j* j, b; A F' p$ p2 ^( I3 Xstatic void report_current_login_infomation()1 ?4 C6 b+ W3 K Z$ ?7 b: @5 C( m! w
{
: H; t' I4 |& X tag_t 3 S3 J0 x6 v# e" |
current_member = NULLTAG,
1 G7 a, w8 ]3 a7 b current_user = NULLTAG, 4 r" Y, M0 |9 h" w3 f/ U% A5 d
current_group = NULLTAG, 6 K: m- n: C3 g5 F! i* h7 ^7 u
current_role = NULLTAG;
7 y! F S5 B |- N L; h6 a( G5 b char % [3 E" _) U2 e5 f, K
person_name[SA_person_name_size_c+1] = "",
0 Y D6 ~" \4 E# F' D, x% _; D* V* _ user_id[SA_user_size_c+1] = "", 6 I7 f* N1 C! w: A2 ~) P0 q; Q* J1 Y
group_name[SA_name_size_c+1] = "",
( F v, ]" c+ Y* R; { c. H role_name[SA_name_size_c+1] = ""; 0 v; I0 V( V! a6 j5 y2 E
7 k. L; h* I. S, e% P* _
# P% T6 h1 X/ U& K$ o1 E4 r& v
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
, w0 ?- z6 }4 G# V! l- z3 X IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
) c7 D% O2 `& l- `: O P: d) U IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
1 \; a% I) |0 N9 V IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
* w2 H, `, T0 ]+ ?) H4 _1 J8 \& o; ]
) w$ b; M, a' j, S7 Y
# y0 l( Y- k/ }5 d3 M IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
8 Y3 F! m: @& o% C' D IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
6 Q% V; h; S0 n4 T7 A; q& L IFERR_REPORT(SA_ask_group_name(current_group, group_name));
! P0 P; A6 s- H, } IFERR_REPORT(SA_ask_role_name(current_role, role_name));
0 r5 U' e8 U* N$ a6 G7 T) q$ |( J. ~4 o
! M7 A* R" |# ~2 F8 N5 z+ `7 t1 x ECHO("\n Person: %s\n", person_name);. b# o; i/ I$ B! Y% @) T
ECHO(" User ID: %s\n", user_id);8 J" Y- h: G" B, t
ECHO(" Group: %s\n", group_name);
# {' G1 R4 I3 U! q( s9 B ECHO(" Role: %s\n", role_name);
1 ]4 u6 A! b. F7 d}
0 m; h) o3 m+ X9 _: d o3 x `& g# }: O& w
|
|