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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息( p/ _& S, ^0 i/ `# U
9 P7 H9 V, ?1 T! h( @

( E) ~; V2 t! ^  c3 p9 LTeamcenter c++ 方式:  {5 {( z3 X, A0 h$ f. \
( H- J# v; Q1 f! F% L: }
. P) t- T: w) H2 G/ Q
#include <iostream>3 G* G, X+ K  r3 n# ]
#include <sa/group.h>4 C8 O& b) t8 Y* P  m1 A6 L+ e
#include <sa/user.h>
5 y* D7 n4 d+ n2 i#include <TC/LoggedInUser.hxx>0 }0 d+ `/ x) b) u) T

9 h3 }4 m% O; U# K; q; E

8 Q9 l4 r* y! X1 }using namespace Teamcenter;
& F9 s( n8 a& O2 j( }$ Q' vusing namespace Core;
. O! G: z* {$ fusing namespace std;% E; b0 A4 P. y% r' }* P

$ r7 m: O! C" a( [/ T1 q

& q/ Q7 `2 C2 E: V. m; ]static void reportCurrentLoginInfomation()
/ g& }5 G; ?8 h9 m+ I: i{/ z' L7 c# c- ]* z* y5 G' g
    int ifail = ITK_ok;2 e9 }9 ?" i' U0 Q6 ?. _
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();& S! m2 v- `4 U" b: m5 E
    8 Z7 K4 X0 _$ w; W& N
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
% V6 P' ?' R2 o4 e9 z5 _! u: L    cout << "    currentUserTag: " << currentUserTag << endl;
- }3 e( m) K9 {/ Z" Q5 P2 ^& J    " h6 S, g7 N: {3 r+ n
    char *personName = NULL;
; z; Y# j/ ], O3 R& |) L; y; {, H. V    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));" M, w/ w! }5 x8 r
    cout << "    personName: " << personName << endl;
( X3 `2 B6 n3 g: s& d6 K    if(personName) MEM_free(personName);
/ Y2 f- }3 z( `& @* j- ~    $ ?% D4 Q6 t. s! q0 b' y
    const char* userID = loggedInUser->getCurrentUserID();
& n! o" N/ R6 [$ z4 S' `    cout << "    userID: " << userID << endl;# Q2 t6 I- D3 Z, d2 d! g

: w- f; |& u6 Z8 t+ Y

& n/ j3 w% ~1 l- G    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();* a' N) t7 T8 U8 [, O
    ; {$ U& S( Y& a6 [! C# f
    char *groupName = NULL;* C( s, M5 R. \8 L
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));" Q) g+ H. N! A
    cout << "    groupName: " << groupName << endl;
) q" h# h! V/ G4 @* D) d. Z8 a! ?    if(groupName) MEM_free(groupName);
6 R+ ?# H. I, I5 E4 m7 ?% X9 I* }
8 ^- J0 x0 p' f* @9 ]! E- }

9 ]* O& K1 i& r, z& h+ ?    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();4 h& ^$ z- V, _6 ?' c
    char *roleName = NULL;
9 {/ h8 R8 D" p# Z# n: c    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));, d# a! ^8 h! Q# m! p
    cout << "    roleName: " << roleName << endl;9 m5 X4 }& N" z4 C
    if(roleName) MEM_free(roleName);3 _' F' u" _' Y7 M& q7 |4 L. Z
    # m6 o/ G, C0 Z. O) g* F4 e$ t
    logical isDba = loggedInUser->isUserSystemAdministrator();
7 R% [9 `5 h3 X, y& _& G! o8 c    if(isDba == TRUE) cout << "    User is dba member "<< endl;
0 q' N( Y7 j: m% h  q& b    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       . M0 F" z2 e4 U3 W& B) {/ {$ a) l* ]( W
}' f" j( m* n# D" r, c! |

/ Q! p7 N1 @" y9 R, _
' R, `( u! M  u% j7 W3 V$ ]
# X, p! @" @$ S1 V6 A4 q/ j2 N
7 O; u3 |' ?$ r+ a7 Z5 R9 q: U( y* Y
  E3 ]: q" Z  x. B
Teamcenter ITK 方式:" w6 Y9 t1 l3 h
( x$ j, I$ t; V$ t
# R- N  A/ G& O% h: x$ S
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
) ?/ O+ N% G. p! X( k$ E: e0 _4 ostatic void report_current_login_infomation()
$ m( I" _4 H5 M$ }9 ]0 i{
* E/ z0 |6 X& {- r3 J9 j    tag_t 4 z+ ~6 g( ?, i: Q
        current_member = NULLTAG,
# A6 M2 p/ B; |        current_user = NULLTAG, ) V0 \3 ~% O" l4 g. t  Y5 e
        current_group = NULLTAG,  / Y, |+ d/ X& K) e$ c- }# z
        current_role = NULLTAG;" b# u# J# ~3 p+ i* A
    char
6 j* T2 l/ N5 d! ~7 F; O5 r5 D        person_name[SA_person_name_size_c+1] = "",. U8 b0 w# d* T$ W* t8 F
        user_id[SA_user_size_c+1] = "",  
# p8 h% n7 n. E: V( m        group_name[SA_name_size_c+1] = "",0 u/ v3 c: v6 l5 }& Z
        role_name[SA_name_size_c+1] = "";  
# r4 J1 X. N3 Y9 l' ~+ F& Z6 o

9 k9 B! V3 H6 K' P4 Y' I    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
0 t% C, M' a1 {' i5 r. S    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));( S/ M& t; I4 R8 E
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));* Q& t+ t) B* e( ]- C$ G
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
% b3 {2 Z2 u% u1 z2 g
" s' p; ?6 h: Q4 U& w- |

5 g! W8 s1 P( n6 m. C6 S- [    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));5 `  ]  `! y& b- Z" M8 n
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));5 x' Y# U) z9 p2 `$ p/ K! q+ ]* F
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
4 ?! |/ ]  ?/ j# v1 K    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
( l. w/ B, n0 a$ s5 A) G
1 H- M# l! ?3 O6 q! [6 G, {& a8 j4 y7 s

) R+ T$ W! M7 f5 W, Z5 ^    ECHO("\n        Person: %s\n", person_name);# ]/ `' g% v3 O5 x( Z
    ECHO("       User ID: %s\n", user_id);
; k6 E+ M( O2 S$ ~9 A  L2 I    ECHO("         Group: %s\n", group_name);7 j0 [+ E1 z. B$ b4 x7 y
    ECHO("          Role: %s\n", role_name);
( R- V5 B& [3 A6 }! Q; i) [}1 ^7 t$ J! i% p* `% P/ K
$ t3 c$ C7 R1 f* U9 M- s7 Y
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了