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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息/ M9 p* U2 [  V+ M6 \9 c
+ h; r) y* J! |  g

! B: f5 T6 W1 {; k3 E) g- Q6 NTeamcenter c++ 方式:
' n, ]' {9 g: l6 ?
# r/ `1 q$ p4 @6 L$ ~  K9 {
/ r% i- j4 T4 r9 P2 w) [8 u: D$ g
#include <iostream>
2 ^; T$ N% {) @#include <sa/group.h>
$ r; g4 H6 x$ P& g$ z/ ^#include <sa/user.h>+ T  _7 x8 m% F* q3 a9 y1 r
#include <TC/LoggedInUser.hxx>/ ^3 Z: L( Y* r

+ p/ Y' |" a4 J2 Y2 z  D9 d9 l+ K3 N

9 m5 D7 i8 n: h' j7 O* W8 h. ?7 kusing namespace Teamcenter;
; R  K7 d$ J+ z1 X- Uusing namespace Core;
7 h( q9 d7 g; \' Kusing namespace std;5 H( G# e7 u' C* j6 E

/ A1 [1 g% d1 e3 I4 U; B
# S" t, _: z  L& f
static void reportCurrentLoginInfomation()
  W, N- ?) k$ v* U0 d{% V2 ^5 N8 K9 c% O, Z% M
    int ifail = ITK_ok;
7 z; U+ J$ v! W! X+ s0 {0 F4 f    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
, x4 p: n1 r5 @/ Y    7 h0 s1 J  h1 P) F3 Z% A
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
; `. y; Z0 B2 T* D, u2 P    cout << "    currentUserTag: " << currentUserTag << endl;
. j0 ?- P% i1 ^2 n$ B    : y* h" ~4 E; i! X3 ?
    char *personName = NULL;
5 Z  v5 i& Q# p8 b" L* Y    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));% w; @) x1 {2 N
    cout << "    personName: " << personName << endl;
7 q' T% t  X) \/ a    if(personName) MEM_free(personName);
. U; a- x" c  i1 f: G   
; Z4 |  A3 ?5 u( P4 _6 c    const char* userID = loggedInUser->getCurrentUserID();
8 e6 @6 l" n5 ?    cout << "    userID: " << userID << endl;1 x5 m% Q3 I# {' z/ k) [% ?
7 n  p# ~- ~3 _6 J" n
9 ^- o$ H2 e4 u. t( y
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();  ~2 D; J# N( @2 @5 o5 s  ^
    5 a  C7 z4 k" H0 |: h" a" M( N8 K- N
    char *groupName = NULL;
8 o% C1 U+ S( m- b) j    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
$ M5 \* o( V/ b. u+ _    cout << "    groupName: " << groupName << endl;
, c1 `3 }( P, ]' C    if(groupName) MEM_free(groupName);" X3 h# f9 Z% r$ N  k+ N
9 x/ M+ n$ D& b9 D
: Z( ~4 Z: A, M* Q7 O
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 B; V) H. u0 o. ?# D5 g    char *roleName = NULL;) [: d9 T+ L  N9 C
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
) {+ ~& m' s1 u    cout << "    roleName: " << roleName << endl;) `* U) b* \+ L# f2 M: a$ E. j8 p3 Y
    if(roleName) MEM_free(roleName);
  C: u& N( [: H* K: k   
$ m  o( U6 J+ @) W    logical isDba = loggedInUser->isUserSystemAdministrator();
+ C& `; d! ?8 [) e* Y+ x    if(isDba == TRUE) cout << "    User is dba member "<< endl;8 M( x* r1 A9 n* S0 A& k2 t2 l
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
/ Z; g" s& _3 s# e9 B}& ~3 U& W. w. ]0 Z9 ~
  z  r' z0 w! U) ]. s/ o  t0 `: I
8 S3 f0 b. ]& Z+ N/ l+ d$ b1 y

, V  u. f4 d" B1 Z7 R
" m& p: F6 K" p: J) i; y1 b

4 B- f4 A! ]4 T' H7 ?* v5 fTeamcenter ITK 方式:4 z' K- B4 h0 o

1 m0 F# @2 T. H3 C' A5 V

. H, F+ D$ V* `! m, p2 B  d; S/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
6 [* E. w" P; k- m; U% @3 gstatic void report_current_login_infomation()
, m- j" j0 O2 |$ Z, x3 i  t3 D; g{& t8 m5 [7 T# i
    tag_t $ R  J: ?; g1 i! Z# m" T) J
        current_member = NULLTAG,
8 t% h5 G% l7 a6 Z3 Y        current_user = NULLTAG,
6 r/ K+ M( y7 E0 k1 d3 q) z3 e        current_group = NULLTAG,  5 d- A0 }  g4 n- @' y
        current_role = NULLTAG;: ?+ ^( R' C5 @* y
    char
, w' \- w# v  Y. X& G! t        person_name[SA_person_name_size_c+1] = "",
! I* w7 i: r4 X3 u& ^: _        user_id[SA_user_size_c+1] = "",  
! H+ k, t% c2 c0 x        group_name[SA_name_size_c+1] = "",
4 ]" v! K8 U) l1 H        role_name[SA_name_size_c+1] = "";  
) \5 w' o; Y+ m1 D' R/ E. k4 e
6 T. |, |: @/ M( T6 Y
/ u7 t' A6 O0 R
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));( o) M; l  H8 R# k
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));5 b3 A0 t/ k" E
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
- _& C+ a4 Z# D) d& ]' V    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));) v6 g! {$ p6 B  }& d% j3 J
3 L6 w4 b$ t' j- b
7 C3 A4 S" R# c  w6 C
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
' j$ k. U, i7 t: [    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
$ l: U$ ~2 p$ ^# y; p- k    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
" W6 k+ [9 q9 n% A    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
! Q9 Y, ~5 @# D+ d: c
  V# }- k: d) D
6 g0 @. g; c. O$ S  O
    ECHO("\n        Person: %s\n", person_name);5 @; V- T  X' Z. t
    ECHO("       User ID: %s\n", user_id);: G1 y- v# @+ x' @2 z) g
    ECHO("         Group: %s\n", group_name);
: e# T+ _: ^/ H- L0 e6 S    ECHO("          Role: %s\n", role_name);, s2 a4 Y& I) {( W
}) F; R, J) U  r7 L5 h5 G

( J! H. [# V1 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了