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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息' ?; m8 r2 z8 H( }

$ d+ H; X& M* p, m" j6 ?
( H: c1 R! W; R
Teamcenter c++ 方式:% \, O' J; I! |% p& A* y) |' b* H

) M( S! Y8 Y) P0 F) L+ q  z
  _+ b* E8 s  w$ l: X& ]! R! j
#include <iostream>
+ O% {( h4 _3 g# Y8 D; H8 h) a#include <sa/group.h>  A# [; g: E9 l- a
#include <sa/user.h>
/ v" ^) W/ s7 v1 Z: J' h; z/ F" T#include <TC/LoggedInUser.hxx>* q, X. p8 d( B* V9 G% l

1 ^; d: w0 u  E% `9 R2 Q
9 h- a" j9 Y4 B6 J2 H& m/ U
using namespace Teamcenter;
/ N$ k5 r9 J9 }using namespace Core;
. C  [% u) E& }. ousing namespace std;+ V5 M2 x4 }& _

/ b, }. \) f; b9 v9 l1 V) W" v, C# Y
6 m! B* e& f2 y, @1 C
static void reportCurrentLoginInfomation()
, N; l- _) `0 q3 W" H( v% ~# i) d{
. l7 Y" {% m) n  m    int ifail = ITK_ok;. ~" t1 n5 n( H( y* }7 Y) G* V
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
2 H: r9 t2 P0 [: R2 `0 h   
9 N; r- M& t1 W$ u4 E! D    tag_t currentUserTag = loggedInUser->getCurrentUserTag();% |  B9 y6 [; K5 F" [  u" U
    cout << "    currentUserTag: " << currentUserTag << endl;% r* n; \- V- \1 h: }/ s( l
    5 A4 l" A; m! ~- D6 C2 Q
    char *personName = NULL;
1 h' \, L% k" x; [  J    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));$ [0 d" W. s$ {, i1 ?" G- h" z( r
    cout << "    personName: " << personName << endl;' Y3 T6 C7 O. W
    if(personName) MEM_free(personName);
7 l; V3 y8 \: I9 e7 R    , ?# |. a3 p* @- i
    const char* userID = loggedInUser->getCurrentUserID();( |! T$ T; ?% }& C. a, {
    cout << "    userID: " << userID << endl;
* B4 d, R. Y5 n6 @3 b/ H* W2 I9 n7 @. g; M- v

1 r/ b' N$ f. B+ R6 r8 _) S+ ]: F    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
8 v7 |9 L4 o9 @0 y5 {    $ ]: N& c4 E8 [
    char *groupName = NULL;
0 o, c4 w  l2 H$ N    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
* k  H; u0 l0 L! e% q2 |    cout << "    groupName: " << groupName << endl;
5 c" r2 O, v% o7 `6 k- L    if(groupName) MEM_free(groupName);
1 _* s, }" r* U3 w1 A$ L  H. Q; o
# E% f  g( J+ E4 h2 _% c
8 h3 t8 n; s+ J# v" u
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();8 D; H0 c- j/ r1 f
    char *roleName = NULL;1 H7 Q  `/ @' R0 H0 E0 x
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
% D7 S! k" n! V( U( B    cout << "    roleName: " << roleName << endl;
* J' |+ A6 ~, G( {$ T% Z    if(roleName) MEM_free(roleName);3 c% M5 a  S; }2 c
    . |- M7 c: S% o% i8 ^, Y
    logical isDba = loggedInUser->isUserSystemAdministrator();
! s: {+ }' e) c    if(isDba == TRUE) cout << "    User is dba member "<< endl;
" X1 s' i  G# G) h. v) I/ P' F    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       2 c* l! B' C5 N- `8 q/ M- `$ ^! Y$ x
}
# H3 u# w: ~9 {/ o8 ?' x. U3 h6 T' y/ i% ?0 X2 r% T- G! Q, ^8 A* B  `
; u$ g9 |7 E- _$ l/ G+ I

6 g5 {/ S1 L' `7 u' v8 C4 p/ o, L% i. L9 V. p7 l" ~( T+ \
5 E; L7 o; X* W. r; C4 r2 p- _
Teamcenter ITK 方式:
# z, U' @; `' i( l' E2 h& p# q& l; s8 @0 L7 g1 @
2 E) Z5 u8 h, L0 b4 A5 ?$ g; U
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
0 a& {# h, o1 }: ^: hstatic void report_current_login_infomation()7 A( L: c$ [3 S' M1 k
{% v8 [! ?& i5 a; a$ n
    tag_t : d& |+ S  L4 I, N& r& Q& L4 @3 G
        current_member = NULLTAG, 7 i$ D6 l( u$ v5 `% n/ I
        current_user = NULLTAG,
$ ^- c$ q5 J# i0 `; g/ Q        current_group = NULLTAG,  " D& A# d8 X) ]: r: T$ F
        current_role = NULLTAG;+ R9 P" W6 E! P1 i9 P
    char
8 C* v6 p1 W8 w! @# g        person_name[SA_person_name_size_c+1] = "",
6 f0 `0 q6 \4 w" Q        user_id[SA_user_size_c+1] = "",  3 |& ~5 _& r; g. F/ R
        group_name[SA_name_size_c+1] = "",9 c2 M+ c/ p; ?* I# i
        role_name[SA_name_size_c+1] = "";  
. K9 m+ b2 m3 K6 H, m
9 t" n$ T: G; x0 V+ m% t! |

! R/ P1 h( Z( w. H; Q4 h    IFERR_ABORT(SA_ask_current_groupmember(&current_member));/ \$ _! f+ Z8 b0 r: Z; D/ [/ s3 O7 q
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));( e/ @* H" @% V# p/ ~
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));7 \! f" P- Q' i! g
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
: q  W3 y" W+ O& M& R1 L, T
1 X7 ]! e" G3 }* T0 Z/ k% q0 M& \
! m" V6 _2 _; }! G1 I4 w: A0 ^
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));) {3 j, Z$ Z; ?& ^. r+ g
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));( T1 d& n- }. }# o9 I0 e7 A
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));$ t, Z8 _. R0 z
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));7 K* E# t( |4 y9 t: M

) S0 m( u  f" h4 G/ o, r
- L3 B/ x) C; A4 c6 R! Y
    ECHO("\n        Person: %s\n", person_name);
* G, @+ B4 I6 [+ q5 @    ECHO("       User ID: %s\n", user_id);8 b# N2 S1 |, Q3 o
    ECHO("         Group: %s\n", group_name);
# S; z, |: [. W' E    ECHO("          Role: %s\n", role_name);% X: X% J% y# X
}" @( k1 g: q3 f% N9 q9 x
9 k1 d4 y! v2 F
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了