|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
Teamcenter二次开发源码分享: 报告用户登录信息
) i* q: F2 E s/ E+ W L# }: |9 h- A0 j9 @4 [
6 t( P# `/ A; }; W" ?" B
Teamcenter c++ 方式:
0 r5 R3 q5 G' l; l9 P5 L4 y4 M6 U8 e2 h, W6 g0 [. |5 m1 w. P8 a
8 G8 r3 b7 |: f- \6 r( ~5 [#include <iostream>4 b- M/ u+ a5 G3 j" j. E
#include <sa/group.h>0 N) `& @: x. V5 m2 c% w0 S# n
#include <sa/user.h>
6 G2 L4 T/ U* r7 z2 Y* f2 V#include <TC/LoggedInUser.hxx>
; o& f9 g5 b9 S/ G0 l: K( D; c5 z4 x0 W* b
+ \6 V0 L9 l' j+ x( ]/ eusing namespace Teamcenter;
* U8 y1 G- Y9 ~0 v6 S! M0 M$ ?7 gusing namespace Core;
; C1 q1 j5 h6 n) {8 susing namespace std;! M, [. D& W( N. }
, Y" g" P0 ^( X
4 Z" h& i% w% Mstatic void reportCurrentLoginInfomation()( @# w" n1 g: B! U3 }
{
8 d! Z5 X+ ?9 @3 d int ifail = ITK_ok;% y( a2 r( i: V# Y. j
LoggedInUser* loggedInUser = LoggedInUser::getInstance();7 p1 m9 x/ d+ ^/ a( m
! W3 H1 N, {- B b# |! F tag_t currentUserTag = loggedInUser->getCurrentUserTag();
. Z$ ^! Y3 Q* Y! T D cout << " currentUserTag: " << currentUserTag << endl;8 T6 r4 b6 W+ t5 C! j0 M+ U" i/ U) a
3 H" q! l0 ?( H' x2 G! i char *personName = NULL;
: [: c7 ?! i, {! N* d; ~- p IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 S& ]% q0 a# v cout << " personName: " << personName << endl;" a7 K! u4 d# a5 E i' u- E$ G7 |
if(personName) MEM_free(personName);, |! e& J; v) V O+ s
% O, Y) {2 R. A4 w7 m/ _: p
const char* userID = loggedInUser->getCurrentUserID();
: n+ M; V. l' ~- {! K cout << " userID: " << userID << endl;" W7 j# S4 f) U
; y4 @0 M6 [, G1 a" @$ f, H
3 H, a/ u6 { G! V0 U! G! t
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
& g3 L, e/ o1 P1 D 3 R. c6 V" o7 R+ D" V5 o
char *groupName = NULL;" V+ j+ x( u# m
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
; n/ Q+ D: K8 }7 n0 j9 l& L cout << " groupName: " << groupName << endl;
0 w8 o8 t( `3 ^( v& o$ M- i if(groupName) MEM_free(groupName);
8 L" j0 D! y, C' [ |- j" ~9 j' J3 ]$ U- u1 q: I( w& {
, n: o, S1 s/ k( x5 o
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();" a( k; g% R5 P# ]
char *roleName = NULL;
* ^1 g8 q- g" B( O- m IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));! n: X( G" s% n/ G9 U
cout << " roleName: " << roleName << endl;7 X$ j0 c8 S- R9 p7 u
if(roleName) MEM_free(roleName);
$ b$ ~1 X+ D* S7 A
8 ]( @8 w d. ]! Z logical isDba = loggedInUser->isUserSystemAdministrator();
. d% q) b/ y# N0 u& Z2 C if(isDba == TRUE) cout << " User is dba member "<< endl;8 v3 F( A3 f$ A0 x: L% @% ?
if(isDba == FALSE) cout << " User is not dba member "<< endl; 4 p: a/ \! ?! G+ g% S7 W
}
) Y5 X& F' J5 K& a* H7 [1 i( V' O9 _. Z* A
% d8 S v7 j' t a( ?
( e3 \. t6 p, J" v6 s0 F2 |! a: M7 }
) q, w7 d# C. |' y; _Teamcenter ITK 方式:
- r7 ]7 e& n P# I+ y
o+ `- Y/ j* {- |7 V: @( y9 p1 `0 @4 z7 V$ j2 B3 c. r+ F1 C* D1 _6 W
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */* B' U1 M2 \2 t( U; E0 @
static void report_current_login_infomation()
8 z0 i3 U' ~' R; W x5 P{
6 d: m/ R* F }5 Q) I4 S- o tag_t
$ y8 @' E0 p+ T6 W; _2 B current_member = NULLTAG, ( z; ]: V* D5 V. r3 S+ h/ N( y# W
current_user = NULLTAG, 5 [/ e Z2 |, W, S
current_group = NULLTAG, V5 o7 j! _! Z& Z) q+ [" g
current_role = NULLTAG;
% z' X+ ~, Y# E7 ? char
( Y/ Q+ n, V) J* l9 x. u person_name[SA_person_name_size_c+1] = "",4 c& k7 X4 u( g" }) G2 s0 j
user_id[SA_user_size_c+1] = "", ) k7 ?/ E5 u2 r9 ~0 ^( S$ L O
group_name[SA_name_size_c+1] = "",
4 ~# i* V6 k% t, W+ W- U role_name[SA_name_size_c+1] = "";
7 n4 H6 R* l) f( l% N! X
4 }) P) [4 Y5 J B- K. g& Q& |1 x( {
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
% v; b8 M% w' S4 S+ Z IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
* H3 V! v5 f6 h3 P IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));0 e+ o6 S- C* q( {6 b5 ^
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));7 a* F* ^% P A
1 y6 E6 Y- s% z0 R0 \* f/ K8 r% a% m% w& T+ Y T/ q! B
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
( \/ d- S# Z; [) h6 B+ z/ m1 J IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));* j# c; j3 A0 f: B% ]7 [1 ]
IFERR_REPORT(SA_ask_group_name(current_group, group_name));: _2 }+ m- `' C& C' p
IFERR_REPORT(SA_ask_role_name(current_role, role_name));3 O: b) S4 d8 |4 x( g. p3 b* i
; ?3 r8 o: E( O5 s, G4 ?
6 f) E/ `; T0 y1 R ECHO("\n Person: %s\n", person_name);
6 I* X, i3 n/ r ECHO(" User ID: %s\n", user_id);& l) g, e+ n1 Q7 o; ^
ECHO(" Group: %s\n", group_name);
- u" i; L& Z; N ECHO(" Role: %s\n", role_name);
6 z& z9 e3 A! \+ U- h}! a1 w; j7 q- x( Y" A
p8 t$ z( X6 a7 P2 n& g* J. g |
|