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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息  O2 X) L+ F" N( p$ s
; Z% E/ c' E6 {% x) ]( i% f

' q9 J' D, E/ C6 [# `& j7 g/ zTeamcenter c++ 方式:2 u8 p; M0 `5 W( p3 X

) d2 H6 |' H4 K% u4 \  {
8 Q; D; K% ]7 I5 I* m( X
#include <iostream>
7 v! Z* Z$ Q5 S* x. \: D( f#include <sa/group.h>' i0 A$ I2 w  J. h" b- W
#include <sa/user.h># k4 {% O0 O) `, ]3 h  q% t; y
#include <TC/LoggedInUser.hxx>" ?9 @+ F' ?: H6 \8 N

2 Z6 @7 g  A3 d) T  U1 l+ g+ h
3 t; m; o6 X7 x3 [; f
using namespace Teamcenter;& g( ?* y! T1 R* h( u2 d
using namespace Core;! U* n' T' w# e6 Q
using namespace std;
7 t! {  u* X6 r0 D4 f: Q; y$ h! T& _, R: |' [0 N# I7 f# l' M' n

5 R% j2 B- N; D4 {# kstatic void reportCurrentLoginInfomation(), ]( ]2 _# u/ y2 K6 L
{
, J/ l1 F- [( e    int ifail = ITK_ok;- j0 \% E$ @$ a4 u3 W& w6 n' T4 ^
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
2 m# ?0 G5 s1 q2 N    - Z, E0 J7 F( s4 W$ v
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
; i  _- ^4 O7 F8 }2 |' L    cout << "    currentUserTag: " << currentUserTag << endl;
# i# N" F+ |" H( i0 b7 ]   
  D2 w& U9 x0 w& X2 M0 z    char *personName = NULL;9 c$ ?; f- q/ B: c& f8 n( a
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
7 ^1 Z6 A6 P( v4 U3 ^2 l    cout << "    personName: " << personName << endl;" i- U, }& j( I9 e% J, K
    if(personName) MEM_free(personName);
) h* {  R* W1 Z5 B/ S8 X/ i    ; w! G% Y+ s4 W' X% P7 G& c5 z0 u
    const char* userID = loggedInUser->getCurrentUserID();
0 F: a0 R& h9 m3 v% {. i) K    cout << "    userID: " << userID << endl;+ h* U1 R3 t9 [" z- v2 S2 \

+ A3 B" U; M: \) {2 e) P+ A
" ]8 z9 X; ^  A3 ?+ ^7 e
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();1 [4 ^/ M- M/ J( X8 F
   
- m+ M) G6 H: Z, ~$ L2 x4 n    char *groupName = NULL;2 U  n0 M) O. Q3 i* P4 I
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));) S, u- l5 |# B) w+ {- u
    cout << "    groupName: " << groupName << endl;
$ z. h% D  u. e+ a% Q* V    if(groupName) MEM_free(groupName);. x. H6 G1 E& a% \3 ?

! g; k  `* N' w/ y! @
2 N. R( X, S4 ]5 d9 |7 ~
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();  b! U9 J5 j- Q) p4 o  ~0 Q
    char *roleName = NULL;9 U& k) t$ d" X, i9 @9 T
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
5 C1 E$ o8 ]7 n7 |" r    cout << "    roleName: " << roleName << endl;
) U) I8 i# f4 i    if(roleName) MEM_free(roleName);
& p1 D5 E8 s- q. ~- x3 Q   
; V! }) N; b. P5 a; y' ~    logical isDba = loggedInUser->isUserSystemAdministrator();
. E/ D8 Q) u% c& c/ c    if(isDba == TRUE) cout << "    User is dba member "<< endl;
7 v& v8 e7 F  ]2 L+ W: h    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       # M5 b  w0 S5 T9 S# C  U
}
3 {% C! W8 e5 F+ n: }! I  L  I1 V1 V' h) c! f: x

  b% ?/ |/ C2 _+ X+ e& Z! s: W
: f) R0 V" A8 c
0 x3 S, N* @+ q

4 ~( i6 {1 O8 [2 z$ E5 q, t; a! ?Teamcenter ITK 方式:4 r3 x/ y" Z; f2 G4 l! u

: p* l* H0 h2 p) E
, ]/ E7 M8 A0 M; W2 Y( c
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
" q( N7 {4 A/ ?5 j4 gstatic void report_current_login_infomation()
7 ?) V. J5 d& ^! P1 T) G9 g4 T8 Y+ K{6 V# q1 Q: `- G% X5 k; g
    tag_t ' v2 B& q2 f% Z  J2 @+ D
        current_member = NULLTAG,
/ E! F3 S8 W) `( _- F" D  S+ u5 k        current_user = NULLTAG,
# O) R- n1 }+ F+ I7 T2 M  g$ m( y- G        current_group = NULLTAG,  
" w0 @8 _: _; o9 H        current_role = NULLTAG;
8 n1 r2 k& Y5 p% l9 ?    char
" Z9 R: r9 f  ^0 L$ Y        person_name[SA_person_name_size_c+1] = "",! }# {/ t2 M* g! u2 v
        user_id[SA_user_size_c+1] = "",  
5 H2 {* h0 a0 `3 @. P" {        group_name[SA_name_size_c+1] = "",7 }7 t0 O) b5 V( z: r9 u
        role_name[SA_name_size_c+1] = "";  1 H, c% y  w0 F- l! Y5 j
4 l, a9 ?+ E& O

; R# ]# U2 u# p6 F    IFERR_ABORT(SA_ask_current_groupmember(&current_member));6 [1 R+ b2 }; x- j" S- v4 J
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
! \, N# @( c3 O. d, h7 e, _   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));& x. B; H2 Z) p2 B: @- _
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));6 s, r' Y0 q( m! G, B# Z- h
2 L/ I  {  e' u/ m; A

/ x7 h9 n, ~- |+ \8 U* L& I    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));1 L0 U9 K! c0 u* z/ j* I3 z( D
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));1 {4 t2 R# b; Y2 N7 C  p
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));( K0 W$ f. D2 P& g* P" b% {& [: H# V
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));* K$ I+ u+ S0 \* Z6 S* j

! |2 P2 _! A. [$ P1 c9 G6 y
5 h0 l& |4 c2 |6 F9 F
    ECHO("\n        Person: %s\n", person_name);0 B3 v4 n0 O- t
    ECHO("       User ID: %s\n", user_id);: Y. a; Y* o) q" L* D/ a
    ECHO("         Group: %s\n", group_name);
1 E( c2 U6 I7 c8 L) t5 g  |    ECHO("          Role: %s\n", role_name);
/ Q' A7 ^  x% H}" V) f7 X( Y$ H0 L3 i; V7 N
. u3 P, `  l! [4 t1 Q$ z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了