查看: 3258|回复: 0

Teamcenter二次开发源码分享: 报告用户登录信息

[复制链接]

4

主题

3

回帖

38

积分

管理员

积分
38
发表于 2017-11-20 13:49:47 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
Teamcenter二次开发源码分享: 报告用户登录信息
7 ?% ^0 f" v2 p" X" i: X4 S! ~7 b
9 e4 x+ U& Y7 c% v( l$ T
Teamcenter c++ 方式:# b8 k8 R" p% }1 j$ p. Z

5 o8 ~; {& n4 e$ J! E# M  }* r

, B7 `1 c. q' B% D5 v0 H! Z#include <iostream>
3 [% \4 W6 ]% u& O3 y#include <sa/group.h>- ?$ r& C. `4 U- ^3 b
#include <sa/user.h>4 Z- Z0 i4 n6 _* s
#include <TC/LoggedInUser.hxx>
7 R; M' H; v' M. X1 u5 R
( K  q0 m, b- ^0 W3 z. W
( Q; z0 u( m5 }" |2 D* {; k* A% a
using namespace Teamcenter;
% s  ~2 u2 m% j! h) X: Vusing namespace Core;
) N, N, x( e6 jusing namespace std;. v% `4 e) E  m0 r3 _
) c" T# m. P/ T2 B& |! r9 E

$ C/ t& L2 Z1 Gstatic void reportCurrentLoginInfomation()( k: C: K, U2 P1 L( B; ?) k" w
{
: h/ W) y2 Q" B) v) g, ^0 A    int ifail = ITK_ok;. }) K2 l3 Z- k# M4 a' y7 a7 g
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();( ?6 v2 q7 V! w
    6 X- P. K4 {2 \- H& J
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
( j% M8 R  L& \6 C    cout << "    currentUserTag: " << currentUserTag << endl;8 F6 A; F/ D# j7 }& T
   
; a! m) u# g* X  U    char *personName = NULL;
) w9 c6 Q. S1 v- l; l    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));8 U* d4 E: }8 @( R
    cout << "    personName: " << personName << endl;1 Z5 b/ r& M$ r: T' C% n
    if(personName) MEM_free(personName);
2 n# \1 g4 W+ D+ |- P+ b   
; V. w) N; B! _# A0 B, s) f    const char* userID = loggedInUser->getCurrentUserID();6 V9 I, f0 E: T1 O0 ~6 [  f: |
    cout << "    userID: " << userID << endl;+ a: J" y6 e: s2 A0 d  Q! n0 j
- H& B& Y" C/ }
' l4 h( U. |! k1 N) ^( _
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();/ U3 Z6 m( P1 T8 K. S' N* i+ {
   
0 v9 E( ?6 w' c4 J- H, M    char *groupName = NULL;1 [2 b; k2 x9 \
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));& k" u% B9 o7 {7 g; `/ q2 s' u( p
    cout << "    groupName: " << groupName << endl;
$ l5 I* b$ j/ k! |# T# @) y5 @    if(groupName) MEM_free(groupName);% J+ D' g: p8 q* p9 N. ]

" Z& e; b5 S+ k' Z- Q, U; y+ S

9 k% }( c, @; ]  l    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
+ W% m- e# X4 [0 A& s* r( X    char *roleName = NULL;% s, S8 E* h1 {) p) Z4 q; l
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));1 w' d$ [; P& C3 u; \- v
    cout << "    roleName: " << roleName << endl;
# t- U! Y$ i% G    if(roleName) MEM_free(roleName);
6 {* x( Y4 m) d/ ^8 w6 S   
, W( k0 G1 r! \' d4 K! H    logical isDba = loggedInUser->isUserSystemAdministrator();
% i% q7 v2 D. j/ `' _. B    if(isDba == TRUE) cout << "    User is dba member "<< endl;
5 A  C3 n! s# h! d# f0 H/ M    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
& I$ C4 ~4 Y' |}
. S. u, V, p+ n4 b4 b9 `
7 a- d& a2 V  P# B* k! b) W7 ?+ i6 W" k) v6 D4 f# `5 L4 a

, `9 m1 X% G" B7 ?. _# c, ]  F) j! `# k

* [6 Q' L1 Q9 ^+ q0 T7 u2 x7 j4 FTeamcenter ITK 方式:+ L$ c" D& ]/ o. T. ?4 ^

& [  ^; l" e' f3 Q
% E7 o1 h9 M: a0 k" [
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ I6 v4 H7 l1 A+ c
static void report_current_login_infomation()
+ M$ z* k/ e; K0 S* S" ]8 I5 |' G{- `4 a: s& T# O1 @( [4 r
    tag_t - t$ L: o5 n( l' S+ c; D" m
        current_member = NULLTAG,
; T) S5 d4 b! ]. V: z        current_user = NULLTAG,
& H5 w, i+ A* S* f        current_group = NULLTAG,  5 ~) d- z  L, v( d  \
        current_role = NULLTAG;: _' F4 Y6 B. r; ^: t: c* A/ q  o
    char 6 S5 a( G; d' C
        person_name[SA_person_name_size_c+1] = "",; F& n/ _3 u+ O% _* P9 p. r! z+ ~
        user_id[SA_user_size_c+1] = "",  
1 _" _2 M$ e4 F' _: \        group_name[SA_name_size_c+1] = "",; B  f+ T7 @" g: O# v$ F+ @  T+ \
        role_name[SA_name_size_c+1] = "";  4 ^# ]" M8 v+ E3 J- T; O* a
, ]: p# l; J% y1 p# C
# ]8 F( N6 q6 T; _$ D' ~
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));; w; x, u; W) v/ S
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));9 `3 Q7 ^+ i) u' j' M5 \" R; L
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));" u) C# h. y9 U$ F; A8 w
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
( k5 m$ {% g' |' v7 i, e3 D2 a' K/ O9 ]" @  M$ k: S
5 ]# h7 E' L" t. ^
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
! \5 i' V/ V" X. i+ c. B    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
, G* n( e8 n4 C) o5 x7 e9 C  d    IFERR_REPORT(SA_ask_group_name(current_group, group_name));& a( J$ _- V4 Q+ m" L+ ~
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));# Q2 i. z0 B% e* N9 P- g1 i

2 @+ `/ Z% G2 y5 z7 X1 k% U4 O
! K( O+ Z( u+ X( w% `/ q
    ECHO("\n        Person: %s\n", person_name);+ B+ d- ~# B9 S! w
    ECHO("       User ID: %s\n", user_id);
$ S  c5 F$ r# w/ @0 K    ECHO("         Group: %s\n", group_name);
2 Y  Z7 w) O; G# A    ECHO("          Role: %s\n", role_name);
/ ~& A  {  ?$ |# \, F}! {: Z3 E$ i: T" o0 H
, ?! G+ a$ y, [+ R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部