PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
) T9 m5 q! r# Y6 C8 ~( _$ o9 y" n) g# t% n5 ^0 L5 R
4 c. ]# ?& P0 k3 M8 [+ o) T
Teamcenter c++ 方式:
/ s" t/ K0 c8 p' v8 l5 O! _4 w* b! \* i6 u0 G8 l
4 P& e; ]* E7 ?0 t5 F
#include <iostream>$ T5 L" Y% j- e" e9 t- u( g
#include <sa/group.h>
. D2 }  i6 j, M, k+ N! J- D: K& p8 c+ C#include <sa/user.h>
: X% [3 Y0 [9 G8 l' L7 i$ m" P+ e#include <TC/LoggedInUser.hxx>: ]* W, ^# Q: }" G

% n# C- P8 L$ a+ ]

4 S% |( ^3 h) i9 G- n$ }& |using namespace Teamcenter;
: s) V) |9 p# N$ V7 W. z* Wusing namespace Core;
+ W0 d3 S* m& }. n+ N- @5 x* Husing namespace std;) d- ~  y' S$ B$ B0 P7 x
$ l: m2 g( ]+ E# e

  o& W4 J. R5 _/ r# @3 dstatic void reportCurrentLoginInfomation()) y/ U9 u0 O! o5 o- U0 _
{
! I, b( Z8 z- f/ y/ Y# W4 Y* `3 f( E6 }    int ifail = ITK_ok;7 c- `4 W, d$ ^  I+ s; D8 I
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();% x/ g) r  U- t) x+ V7 v9 a
   
" P# k, e/ C( \& _2 f    tag_t currentUserTag = loggedInUser->getCurrentUserTag();5 q* n3 p& Z4 s
    cout << "    currentUserTag: " << currentUserTag << endl;  k# u0 z+ W8 ^0 y8 x$ U
    9 {3 c. {& W; N! I6 z* D2 m& H3 P
    char *personName = NULL;$ A  }4 q- f$ s, c4 Z9 [( k
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));! M# Y2 P" ^% w7 n$ d  p# Q* P
    cout << "    personName: " << personName << endl;
: L( t3 u3 L# R1 w5 s    if(personName) MEM_free(personName);
* Z' T; h, @9 |, S   
+ K! l5 s+ r& Z4 i+ o' ]) ?5 q    const char* userID = loggedInUser->getCurrentUserID();9 P' E! \' a+ S% A! [% H% O8 N
    cout << "    userID: " << userID << endl;
, M7 h* x$ L! z$ f( V% @, i' u6 u4 G: o( M: H

' U, \1 ^; Y+ t( }7 E# G: i    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();- v/ P9 z9 d" y+ {, D8 e& }. V: `1 a
    8 q9 P! f5 m4 v& y$ y
    char *groupName = NULL;1 l9 @4 O7 z, o* S: h& E  k
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
: n5 C9 P; S& F; \3 ^  b& Q6 L    cout << "    groupName: " << groupName << endl;
* |; l& o/ E) S9 e' ?1 X# n4 ^    if(groupName) MEM_free(groupName);  Z( z6 u4 i1 Z. h* w: o
7 X0 }# X- S5 Y9 e% {

4 {: d: h( z' D# A* m7 u& z    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();, x3 o, s7 |% `/ i2 u
    char *roleName = NULL;
5 j4 x# S7 x  N; f) D1 ~) n    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
" F5 Z! C9 n& K# C2 ]4 [    cout << "    roleName: " << roleName << endl;1 p) T* h! L# X" ~1 w' |: ?4 U
    if(roleName) MEM_free(roleName);2 A- p+ `5 V- G' Z
   
& q+ C, Q) U2 a+ p    logical isDba = loggedInUser->isUserSystemAdministrator();
: S7 ]( `# q2 C9 P    if(isDba == TRUE) cout << "    User is dba member "<< endl;! ]" m! J" P9 n
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       8 p- ~% K9 Q3 A  z
}7 y1 s; x/ g2 B$ @5 v2 Q

% y, w* @8 e: c  n+ ^. ~9 Q( i, Y
& P1 `- D+ p( [5 W5 A$ h. ~
2 x+ A) t0 o. _* J0 H; u
6 o% W& S. w0 Q3 A5 p7 B4 j/ _
4 U5 X# e$ s/ y8 g) G" }
Teamcenter ITK 方式:
5 }( W' ?! _# g, m! i5 Z
# w/ S- Z# y9 ], N
5 \$ [* w$ t) I( B; E& }6 i( M
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */6 C6 ^6 d3 _9 c+ ~5 ?
static void report_current_login_infomation()/ ^) `5 a- r7 V6 N
{4 i( u! F# L% r3 ]& H; R
    tag_t
) B5 g7 D, [5 {* g: @& c6 |* U        current_member = NULLTAG, ( G& H4 j) p' {6 n) y! |5 ]
        current_user = NULLTAG, $ D' J6 l* N9 I" g* v- |
        current_group = NULLTAG,  4 R/ j, q5 R4 T+ J1 y: t: ?  e  L' |
        current_role = NULLTAG;% o5 W8 D( W4 |$ x+ y
    char ! W8 ^3 K! Y4 [0 R* `- j  r& E) V
        person_name[SA_person_name_size_c+1] = "",
7 `4 N1 i2 z3 M) J& I        user_id[SA_user_size_c+1] = "",  $ ~. I( V2 y0 g5 }
        group_name[SA_name_size_c+1] = "",  k4 ^' C2 A2 ^  C
        role_name[SA_name_size_c+1] = "";  5 c3 g9 ^8 |+ Y5 t

, u! A" o  c6 d" H& H

; Y- {3 k0 q& z2 ^7 U1 d    IFERR_ABORT(SA_ask_current_groupmember(&current_member));; y- B0 W' e: [
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));. n) U: T/ M8 q# E1 k+ a9 L0 E
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
( A( V  a; V; A3 Q" F    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
/ q6 I+ V+ |3 b8 h% _
* C: i, M& l1 E# A

0 Y* z8 w  w4 W0 X8 @9 b8 Y, X: ]    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
" K* H& K6 s4 T* u. F& ]    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));9 I, l, l3 v9 ^) x( Q$ R+ }" i
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
" g$ A0 r$ F' ?- e    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
% ^: L2 }) f4 _* Y; V% m7 X' F
5 ]; w/ D; U2 w/ J3 H' T+ j
2 k: u; f2 U& X8 P/ ^  a- w2 A5 F' X5 ]
    ECHO("\n        Person: %s\n", person_name);5 n& h6 V+ U: G: h6 T1 S; k/ _
    ECHO("       User ID: %s\n", user_id);
; V0 d3 Q" Y! p3 I4 K: v1 i% @    ECHO("         Group: %s\n", group_name);
) t: c0 |6 z' ~5 J3 i* B0 N' V# P    ECHO("          Role: %s\n", role_name);1 V9 A: C0 r- Z+ W& D! g
}9 I1 w, j7 _! G; M' D$ h7 g# F
5 x  h2 @% w! H) K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了