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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息- P1 v. L1 ^/ D$ t( v5 u# H

/ \7 S* A5 d  A( v+ o% ?

: i6 x  T1 p9 B! V3 l: i2 r0 j; ZTeamcenter c++ 方式:. {& v* b3 p( l+ E9 ^; m

8 e* F3 [/ O" f' v# M% m0 T( T+ ]
0 O: D6 P' x* E& Q, Q
#include <iostream>
8 D9 j; L3 s2 ^1 k#include <sa/group.h>4 C. I' T* ^, z
#include <sa/user.h>
2 m7 R( U' Q- M/ I#include <TC/LoggedInUser.hxx>
# B6 G" m, W/ \) n, ^
# F; I  E9 r: J' u  o7 i7 {( F8 a5 v3 m  L

. d% ~' b. b# B) E; s) N" I; o) wusing namespace Teamcenter;
' B* ~7 y0 f, _! [using namespace Core;. |6 p/ g0 _0 J
using namespace std;& X  e* Y. z! Q
2 Z3 \3 @6 u& i% ]+ W* @2 s$ K0 X
9 ?0 P2 H) O: x5 N( p- H
static void reportCurrentLoginInfomation()+ G5 t; _% l) y/ Y9 v# [
{7 ]* j% |. e- ]/ m2 E+ h# e
    int ifail = ITK_ok;: ]0 l* X" r. r& f
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
- ^) X! T8 V3 L3 z5 s    ; a3 j$ P+ x/ G, v; b% L
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
; j1 f" z  t, ?    cout << "    currentUserTag: " << currentUserTag << endl;
) g- P$ u. ?$ f' @3 V3 d    , T4 g- ~2 I% P5 ^3 e) I9 g
    char *personName = NULL;
6 m- D6 I: |: J& L! D    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
. I+ Q' W) b# o4 X  o* a  t    cout << "    personName: " << personName << endl;
0 c3 ]  Q3 Y+ P. l. V0 U0 d    if(personName) MEM_free(personName);
8 c6 Z) g4 U3 T; z    & T, S8 H" \4 t# |
    const char* userID = loggedInUser->getCurrentUserID();
# d$ N$ O( h( q" I0 j    cout << "    userID: " << userID << endl;, t9 M  e- ?' c$ T6 F7 V8 z9 q1 V

, ^  z1 v! L. R: O

6 K* h! k$ O) p8 m$ C8 L! S5 Z    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();4 g$ N1 ?% b& F( }+ `7 M
   
  Y$ d3 k2 j  w( u: h; P    char *groupName = NULL;
7 Y+ T  E* S7 Z    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));+ j0 k8 g- Q* k+ V; m' S. Q1 f5 y
    cout << "    groupName: " << groupName << endl;+ H' b" r. U- G  Z  l& G( r
    if(groupName) MEM_free(groupName);
" d5 n7 b8 Y0 a* `- r9 W% `( Y2 j- T& c$ L' v& u6 K' c
) m& Z8 ]+ d+ [) k! y
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();, e' u( R0 E& r
    char *roleName = NULL;
2 P6 Y3 ]: S; g# e2 {- a    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));$ a: D! _; @# K' Z5 G" T8 j
    cout << "    roleName: " << roleName << endl;
, ?- u: A0 a9 f0 s    if(roleName) MEM_free(roleName);
) w* O! H$ ^7 @0 h   
4 q  f& c& k0 G/ m8 U% o# Q5 j, w    logical isDba = loggedInUser->isUserSystemAdministrator();
$ p- Y( _( Y0 u7 c    if(isDba == TRUE) cout << "    User is dba member "<< endl;, V: C1 a2 b5 P/ \7 D0 u# b
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       ; }8 Q0 Q. r! {' u" b) J
}0 T3 e. y" Q# D& b6 S% q# {2 ]

4 @3 l" _* z* X- @8 U+ i
/ ?, B7 f2 m: H9 k: Z
# }% s+ y7 K3 o' [7 u+ d# `8 n6 i, v
5 T5 _) O+ l- _! z  L

: i/ Z) W" j+ C) cTeamcenter ITK 方式:/ b; w+ N+ O' G$ O
9 Z. y- }. w' w" |6 q& `

8 I9 V( Z& l* `' a6 O9 r6 A  U; h. c! a/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */7 W: j! x# G/ A$ j
static void report_current_login_infomation()1 H4 j! Q3 u& _" P1 ]2 o
{4 a+ e: e9 e- v  g8 ~2 ]
    tag_t ' u3 x4 ^; M+ I" @3 H$ F1 v) U7 Z
        current_member = NULLTAG,
* ^1 Z) A; |  P$ i# b- z        current_user = NULLTAG,
6 ^/ u% @# g- q. u: {4 R        current_group = NULLTAG,  
0 y. I3 N; `, I) q% q3 S        current_role = NULLTAG;
/ t. Z- l/ |! S* F    char 1 i' W5 f7 ?, U2 B1 \8 ^
        person_name[SA_person_name_size_c+1] = "",, U( Y) G( y5 i5 P: q9 R
        user_id[SA_user_size_c+1] = "",    d; }% d  j1 K6 k" M  c& u
        group_name[SA_name_size_c+1] = "",1 U( ?2 k* i7 {* a7 Z
        role_name[SA_name_size_c+1] = "";  6 u( n  _$ x% `
* R; P& O9 J* o+ x; E

: {4 o# x" V# q# X$ @, o    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
  I# M/ P" i  H9 R! O* E    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
" S% Z* G8 _, G7 h# e   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));. s! a  Q+ d2 k! d: y9 i$ }4 r
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));3 Q% z. @! X; z
! G* b# e- p6 L8 S. y3 \5 D/ B$ y' |
) m  W9 W" ^& W# w% |6 W
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));  R& a( G# x: b3 H9 o. b
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));6 Y2 X% _+ \6 |& x4 @
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));0 h) b2 X- O( s7 w' d2 b4 ~
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
- D' x% s, A5 q# g5 _7 c2 F
- ?  `7 \6 s4 w& Q( ]" u. [

3 q. M! }. C! N5 x3 J' f    ECHO("\n        Person: %s\n", person_name);' k. \! w9 B6 y
    ECHO("       User ID: %s\n", user_id);
) y0 B, N/ M9 Y  c* V6 b' t- }    ECHO("         Group: %s\n", group_name);" P) S. k: K: B
    ECHO("          Role: %s\n", role_name);
: V4 `, }4 r, w/ p( N7 [1 x7 u7 v}
& x1 b2 O7 Y5 ^/ Z# K( o
. x7 K9 B( w" }+ e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了