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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-11-20 13:49:47 | 显示全部楼层 |阅读模式

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息5 Y$ ^  }1 Q# D- p- a
: l5 M1 R- d3 n' e3 T
' x) p, e: F5 D. K5 R2 u
Teamcenter c++ 方式:6 e# \1 d; K( q( V2 l

- S* h/ A/ Z+ e
) q$ P6 v& C# O$ N7 y
#include <iostream>
1 A5 v$ G4 X- m7 ~4 Y4 Q$ e#include <sa/group.h>
  J8 r3 k( Y8 ^2 _#include <sa/user.h>
! d# S4 n) z9 q#include <TC/LoggedInUser.hxx>! T" v4 ]5 }# [% ]& Y; J1 m+ [* }
! [) m  }2 M) T4 B, Y

. W# ]. j) F) }. s; M- Jusing namespace Teamcenter;3 o; ^8 E0 T- D/ i
using namespace Core;9 r5 H- D4 s1 K, a) ^+ k
using namespace std;
' {7 k$ H+ h# F- O! R  j9 }9 O' ^8 k* V
& o2 ^$ ~: f+ ]  N4 d

; d0 m" W3 y% D; ^static void reportCurrentLoginInfomation()* ?: A5 w5 h. W" M  \3 Q- ]) D2 E
{9 ?' X3 t( n1 M6 _% u, p
    int ifail = ITK_ok;
( i0 S- g  [& m9 n    LoggedInUser* loggedInUser = LoggedInUser::getInstance();+ b! m& }: y/ Z% |
   
7 k! |0 s# q- q; W. F/ W, e* ?    tag_t currentUserTag = loggedInUser->getCurrentUserTag();* E( }  C( Y5 ~5 j# ~
    cout << "    currentUserTag: " << currentUserTag << endl;
; t9 {+ @# ~& ]9 K4 |$ G   
2 n; J8 s% E3 U0 z% c    char *personName = NULL;
' A7 I: Q9 R) W7 n3 n    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));, M' \; ?6 o* C: q  Y% R
    cout << "    personName: " << personName << endl;: V, ~3 L/ t) U
    if(personName) MEM_free(personName);) W5 V" L" _, V; x" @  Z
    8 c& G  }' E- C& c6 R3 C. ^5 M
    const char* userID = loggedInUser->getCurrentUserID();
+ {# w! i: q0 \6 s5 Y+ {    cout << "    userID: " << userID << endl;, x$ X% l% p( W1 m- E" ~6 J

& ~0 p; ]; z  f
  a" |) U- L2 x: Y3 A/ |
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
7 e9 D3 _/ k7 k3 l    + d$ ~6 n6 m$ K- ^% t5 n' j/ |
    char *groupName = NULL;) R1 u6 c# I  w8 s' w* u
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
/ i( D8 L2 z) a" g3 T" v7 _- ~    cout << "    groupName: " << groupName << endl;
7 R* w4 N% b" F) L: H( z/ s    if(groupName) MEM_free(groupName);0 ]$ a! y% `% K- T9 q% W* }
) P  x0 e, f4 r; G! ?7 f) G& q
  N+ C6 w" I: H' W
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();/ c+ M4 N6 Q) D2 D
    char *roleName = NULL;1 d2 `- D, x! E0 `
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));; N6 u8 z2 g: C, e: R  s, b1 _
    cout << "    roleName: " << roleName << endl;4 h% H$ U0 H3 C2 V
    if(roleName) MEM_free(roleName);, T8 t" ]5 ]4 D
    8 U' }. {* t, q: v6 d9 ^; K9 D9 r
    logical isDba = loggedInUser->isUserSystemAdministrator();
" m2 x( w1 P8 E0 v/ D  e    if(isDba == TRUE) cout << "    User is dba member "<< endl;
& r0 R5 t1 `+ G    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
# [% x1 v5 U0 o& Z- H! R& A4 O9 o}9 }- F$ Q" _. o2 B2 I

# r. I! T8 N# ~
9 D# Z9 ?# w& I/ _* M! x! }

! p7 R5 k1 s- h, ?+ H
4 ^0 V0 c- }2 {- b

$ ?" d- X. A- L, t: x  |7 _$ wTeamcenter ITK 方式:3 M  E( ^6 Z8 g9 F; f: k5 G: m5 J
) j9 @: g" v2 @. [  K" N9 G, C9 }

( B/ V7 x) l* Z/ |/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
' {2 j/ ^1 j* j, b; A  F' p$ p2 ^( I3 Xstatic void report_current_login_infomation()1 ?4 C6 b+ W3 K  Z$ ?7 b: @5 C( m! w
{
: H; t' I4 |& X    tag_t 3 S3 J0 x6 v# e" |
        current_member = NULLTAG,
1 G7 a, w8 ]3 a7 b        current_user = NULLTAG, 4 r" Y, M0 |9 h" w3 f/ U% A5 d
        current_group = NULLTAG,  6 K: m- n: C3 g5 F! i* h7 ^7 u
        current_role = NULLTAG;
7 y! F  S5 B  |- N  L; h6 a( G5 b    char % [3 E" _) U2 e5 f, K
        person_name[SA_person_name_size_c+1] = "",
0 Y  D6 ~" \4 E# F' D, x% _; D* V* _        user_id[SA_user_size_c+1] = "",  6 I7 f* N1 C! w: A2 ~) P0 q; Q* J1 Y
        group_name[SA_name_size_c+1] = "",
( F  v, ]" c+ Y* R; {  c. H        role_name[SA_name_size_c+1] = "";  0 v; I0 V( V! a6 j5 y2 E
7 k. L; h* I. S, e% P* _
# P% T6 h1 X/ U& K$ o1 E4 r& v
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
, w0 ?- z6 }4 G# V! l- z3 X    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
) c7 D% O2 `& l- `: O  P: d) U   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
1 \; a% I) |0 N9 V    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
* w2 H, `, T0 ]+ ?) H4 _1 J8 \& o; ]
) w$ b; M, a' j, S7 Y

# y0 l( Y- k/ }5 d3 M    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
8 Y3 F! m: @& o% C' D    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
6 Q% V; h; S0 n4 T7 A; q& L    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
! P0 P; A6 s- H, }    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
0 r5 U' e8 U* N$ a6 G7 T) q$ |( J. ~4 o

! M7 A* R" |# ~2 F8 N5 z+ `7 t1 x    ECHO("\n        Person: %s\n", person_name);. b# o; i/ I$ B! Y% @) T
    ECHO("       User ID: %s\n", user_id);8 J" Y- h: G" B, t
    ECHO("         Group: %s\n", group_name);
# {' G1 R4 I3 U! q( s9 B    ECHO("          Role: %s\n", role_name);
1 ]4 u6 A! b. F7 d}
0 m; h) o3 m+ X9 _: d  o3 x  `& g# }: O& w
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了