PLM之家PLMHome-工业软件践行者

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

[复制链接]

2017-11-20 13:49:47 3118 0

admin 发表于 2017-11-20 13:49:47 |阅读模式

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
4 j9 m- n* M2 r' M$ ^' V2 x% u) [2 X/ N- ?/ I9 v) g
& O* {7 H! h" z4 q
Teamcenter c++ 方式:& n2 f0 y2 p% U, b, g5 S: S* a
2 ^  j3 {9 i. ?4 [6 I; j: X/ ]

3 O5 |1 p: j6 _' ^$ b#include <iostream>) o5 x* s/ Y& D/ z
#include <sa/group.h>
9 J6 J% S% Z9 Y3 p#include <sa/user.h>
1 y- s8 ^0 e% Z4 }7 l, N9 F2 |#include <TC/LoggedInUser.hxx>0 g1 f  g! U% p" ?- k* ]. V# I

$ F1 z! L* V( b& E+ d
4 Z! m: Q0 z  @5 Y; L4 @
using namespace Teamcenter;
* Z8 f# p8 T/ d8 D1 Qusing namespace Core;! e( U7 E! a' ~+ F$ C
using namespace std;
5 h/ {* L$ G- w' i+ }$ o3 H6 o' u# _. L0 {2 K7 O# Z0 {. z
6 R8 e& f4 f) s4 P- W
static void reportCurrentLoginInfomation(). d" U/ @: {- R
{% J* x' l. r$ N' M, d
    int ifail = ITK_ok;) b, H8 [2 [' j7 {$ K5 X; I2 l* N) V
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
5 r* {0 U& u. [% M! E   
  j) S, F1 m& K6 W3 ^    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
8 @1 |4 P  f- O& e    cout << "    currentUserTag: " << currentUserTag << endl;
( K6 p3 }+ j; L    3 o: d  m% S5 J( u+ t! ?
    char *personName = NULL;/ e! q6 o9 d" e7 S, [  G
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
( n% W) h! T8 T% a7 z+ Y* ~/ J. U    cout << "    personName: " << personName << endl;; {; L( Q& s* B& J8 q
    if(personName) MEM_free(personName);
: T7 o* Q6 ~2 J: P1 a, f' _    " y) |6 t4 _' @5 j0 u) @/ K
    const char* userID = loggedInUser->getCurrentUserID();' G& F+ P3 x8 m, A+ A
    cout << "    userID: " << userID << endl;
( P( e& z5 C6 t, U$ c
4 c  ?, M  n9 ^3 v

: k% R, G! A5 c& ~0 {5 N7 m, A    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
* }+ M5 f; G* @7 h    ) \/ o% B- p0 b
    char *groupName = NULL;* m. ?/ F# S4 }! \9 _6 r
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));* E5 x" Q/ {6 q% ?7 y3 s2 }5 ~* s) T
    cout << "    groupName: " << groupName << endl;
+ A8 s0 X3 M: Z/ `2 _; }    if(groupName) MEM_free(groupName);4 P- o6 S5 F# F
2 J( `' z* o" D4 t! ^0 v9 ~

8 }# ]  e: a8 \' F    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();$ d* e* S* q  _) Z% N3 M" o- X
    char *roleName = NULL;
* F5 q/ l0 B/ P# e6 f    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));' J  J7 B: o6 D
    cout << "    roleName: " << roleName << endl;+ c1 z* M+ e7 V/ i
    if(roleName) MEM_free(roleName);  u9 p6 D( V0 S, j' [% ^4 x
    6 ?# S" A. S( Y( N
    logical isDba = loggedInUser->isUserSystemAdministrator();
1 i' \/ c- K3 Q5 y7 F    if(isDba == TRUE) cout << "    User is dba member "<< endl;
5 a: y+ W( ?' M0 x: \# j    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       # D; O3 J0 C6 X, w3 R7 z* u* f, Q
}
1 b4 m: E, R# Z# `5 c$ E- Q% s, Q! ]; m. M) U: @5 }
9 K8 Z# @' f- e. V! Y

% K5 l  o) X4 W7 r7 y2 F& T  }. [- m; j! M
2 v- N/ i% T4 V' ^
Teamcenter ITK 方式:
% j; F( Z1 f1 r; v0 \; k  x" [1 }/ R: r9 O. Y$ t/ _* m& }( R
# _0 B% P# U4 f5 S& P
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
4 v6 R6 O' t/ f  Nstatic void report_current_login_infomation()8 r5 `; F$ g2 X1 b
{
# \* v. H  Y1 E    tag_t
$ G6 s( `& i2 x0 l+ |/ T6 F! j1 W        current_member = NULLTAG,
) n( Q* t! j1 W0 N' ^9 b: @5 O        current_user = NULLTAG,
' B4 f8 @' _/ U        current_group = NULLTAG,  + L; Z! q* s5 h% H) _- t
        current_role = NULLTAG;5 T- U# T  b0 x6 o
    char 7 H0 _+ r% A; k3 ^( ^! \2 R) I; I
        person_name[SA_person_name_size_c+1] = "",/ {. G2 d9 O+ O2 |+ C2 Y& L; P
        user_id[SA_user_size_c+1] = "",  
7 H9 [# l' u6 I6 I* D        group_name[SA_name_size_c+1] = "",, _( _2 x- w$ U/ f
        role_name[SA_name_size_c+1] = "";  
+ v2 f+ V& Q- H% p
3 ]4 e( s' _- W+ Y% ~
7 t  w  g, u% j
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
/ @) S4 H5 T2 X6 D    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));1 @* v5 @4 B2 ?/ n/ h( {+ _6 y
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
1 h7 V0 I2 Y6 T    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
$ c5 y4 f" n! c1 C* n  m( k7 u- h. x2 a- a

) p5 x# {/ E) X. l9 r* M    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));: o, ^3 b5 x5 u1 n* L
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
( Y% v1 O- Q4 T" _6 x0 G    IFERR_REPORT(SA_ask_group_name(current_group, group_name));( l+ ]* X' M3 ^! T* T  b* l
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));7 ~/ |& d7 C- y1 Q7 q- i" h" b
" _8 q; Z2 r% H- v1 E

# V/ @% X$ z+ B) Q* U6 x% Q6 _    ECHO("\n        Person: %s\n", person_name);6 W3 {7 J8 T1 [# p! ^1 P
    ECHO("       User ID: %s\n", user_id);& G- w- ~+ q5 Z0 W, V/ J
    ECHO("         Group: %s\n", group_name);: R1 X3 k7 a+ l
    ECHO("          Role: %s\n", role_name);) z" E. d% a6 _: v- z
}
" r8 @1 F  i8 N  E( N& @) L0 A9 }
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了