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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
; V* [1 P$ [2 Q" s# L, G
4 h6 U8 ~. P" D: {8 [' F- X

2 A: O+ u$ u- f8 }( h3 {5 x1 Y* fTeamcenter c++ 方式:
( l9 Y% Z0 k4 j/ t1 t3 D! v+ v! ?& d& N
) d* }% @4 t8 ?2 t% ?# |
#include <iostream>; `8 V  N( ]' V
#include <sa/group.h>9 x) Q. R4 R2 G4 }
#include <sa/user.h>3 j' f4 `3 g! Y/ C6 U
#include <TC/LoggedInUser.hxx>% L9 t' g; ?; o

" s) `3 v0 @0 A
' g7 v( W( z2 U# G
using namespace Teamcenter;1 V7 k3 |; l+ E# }* n6 i% y) ]/ l
using namespace Core;
3 v, a2 x2 B# g$ t. ^% `) n* k5 _using namespace std;$ F+ h6 B: W6 s! F" R

, \/ m# }6 B4 V

7 O- T; l% M5 K% B1 d6 ostatic void reportCurrentLoginInfomation()$ X- n4 n* t6 W& |" Q
{( R9 M, f7 R8 E2 A
    int ifail = ITK_ok;8 P) H. d$ |, C
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
8 N- O( o& H( J, S) e   
# i0 G4 L: ~7 U( }. L    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
/ @9 H$ ?* s7 N! K    cout << "    currentUserTag: " << currentUserTag << endl;8 n4 C: {- n, J2 p
    & Q: |* N' j3 N* G$ L4 D+ I5 v
    char *personName = NULL;
. I! j6 z8 S" n- h: o    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
$ g# Q5 C, P3 O. h$ j    cout << "    personName: " << personName << endl;2 |6 x! _/ s' x! C" ?0 _3 U
    if(personName) MEM_free(personName);+ ?' O3 z& T' ]; ~( ^/ \1 A
   
$ I" O- K/ h& Y& H( o    const char* userID = loggedInUser->getCurrentUserID();
$ n3 Z; K! Q9 n5 |2 D( W$ h/ u7 Q    cout << "    userID: " << userID << endl;+ T; C: X. ~7 g( A
, _9 u, \1 t9 H$ f; L  b7 T# j8 ^
1 y9 G. j% u9 l  J# T
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
" ]3 @% W. a, M+ r   
" U9 G3 R. H# m8 A3 b    char *groupName = NULL;
$ y3 e# s- N. ^" I) Q& P    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));2 f$ H* G( o- B4 i9 B- P1 }7 E. r
    cout << "    groupName: " << groupName << endl;% x1 o6 N. i: }& n* R
    if(groupName) MEM_free(groupName);
4 z5 _9 W' g4 P% x
- y* v! a) S( s) V- U- O
7 [2 p; k# M& ]5 C
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();+ b) u( g$ O+ t& h/ j
    char *roleName = NULL;
' M; K8 V+ F* e4 i    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));' E4 E. Z) r0 N5 T" G  p; c% v( m( Q
    cout << "    roleName: " << roleName << endl;
2 ?3 a6 c8 {. |" [    if(roleName) MEM_free(roleName);2 f3 E# {0 m$ k4 O# c& N/ Q& [
   
; Q& _0 t8 v  a" W; k4 d; V    logical isDba = loggedInUser->isUserSystemAdministrator();
: k; p2 x+ |+ G/ r! b6 W2 i    if(isDba == TRUE) cout << "    User is dba member "<< endl;' H. D& u& f5 b; i4 {. @
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
% t! ?* b+ H9 _! ~9 `2 o}
: i2 Z! S4 o1 M! j: t3 L9 s- V: T( T  B" h; ^9 y7 g

1 n' v% I2 \* t. g* ~
: Z- j9 q4 G: k
6 I4 ]' K% E/ f. ^- N
: s; \, |" S' K+ w+ U4 D
Teamcenter ITK 方式:
* m: S* e/ O0 ?( H; b0 Z: a4 l- X' n; M9 u( A

. @: A1 ?5 O( R/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */6 _; G2 t4 r/ u
static void report_current_login_infomation()2 m3 J, T( [% g! A
{8 O7 E* Y: }+ }
    tag_t
8 R) x6 j4 Q3 E5 e- L* S        current_member = NULLTAG, 1 d) P3 M4 S* j3 s5 M
        current_user = NULLTAG,
5 x+ C  I1 n. d6 F( y6 k0 l3 R        current_group = NULLTAG,  
4 V9 D! y  M* F. E        current_role = NULLTAG;
* t3 P; u- F, T5 ]& S    char
' g6 b/ r0 E  c7 o1 a1 r        person_name[SA_person_name_size_c+1] = "",2 _' ~$ b# E; y/ p) q( h. v+ s
        user_id[SA_user_size_c+1] = "",  * T0 Y3 }- o- o' F
        group_name[SA_name_size_c+1] = "",
. L5 i% u- X( h9 K7 C        role_name[SA_name_size_c+1] = "";  5 |& X! j# @; t

$ i4 S( j% ^5 P& p8 x4 e/ T* T2 r
& m) r7 e8 b( g; o6 a
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));/ C( ^. W$ p5 R; Y
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
( }0 G7 O% S* _2 _1 {6 e   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));  C& v6 k9 [) K* F1 M. @8 @" m
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
4 A7 C4 Z5 g9 x3 I' G' ?/ C# f! Z" `. ^- M$ ^9 Z  i$ ~
4 v5 U8 ?( s4 S( `# D8 M  t% K
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));2 w- Q7 ?6 o0 e3 F
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));* }9 J' m. X9 W, e: y
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));6 ?( E2 e; e& h) w. k( I
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
) c) m  x. }3 G1 J1 w3 {' j. g: B8 |1 Q

. o4 n8 ?% K- y. h# Q    ECHO("\n        Person: %s\n", person_name);
; b! e  D) F+ `: j7 q: l    ECHO("       User ID: %s\n", user_id);5 v/ Y( c* _! l; O2 N' D5 e
    ECHO("         Group: %s\n", group_name);
0 \3 }" P$ c7 z+ i    ECHO("          Role: %s\n", role_name);
2 S& W. e' W( `}% W4 @) a% e+ @
' p2 S0 c, S$ t, c" P0 j! L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了