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

Teamcenter二次开发源码分享: 获取当前用户信息

[复制链接]

2020-2-8 09:34:22 2318 0

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

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

x
. [9 m4 Y/ V' `8 _8 k8 Q
Teamcenter二次开发源码分享: 获取当前用户信息
/ R/ c" [. ~9 S# F
. J! E8 n  ?( Y: O8 f: j, ^[mw_shl_code=cpp,true]#include <iostream>- o! _7 B% k6 z* u
#include <sa/group.h>& k( ~6 S# c% W
#include <sa/user.h>
2 z* I2 }/ Z5 ]& f% X  _4 P: p#include <TC/LoggedInUser.hxx>; E, w+ M9 S6 Y  S/ U  G9 j' E

8 I" {% b4 p8 E& o! Qusing namespace Teamcenter;
4 m0 R; i& w$ `" m8 j) ]using namespace Core;
; H7 h, G) s# N$ X1 _using namespace std;; @' R6 d" I8 F$ a% i: i# d

2 v: h1 X' x. E8 {3 `static void reportCurrentLoginInfomation()- Y7 g/ U3 C  g; F  T. L
{' j2 F& }6 ~. I
    int ifail = ITK_ok;9 A: w$ _% k1 m
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();3 `) v, P: A2 y# T+ K* ]. P4 @
   
/ a6 y, M7 Q' }+ A6 N$ F7 N    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
& C0 K( r1 ?+ [+ q' l; C    cout << "    currentUserTag: " << currentUserTag << endl;
- F/ i2 c5 o- C: N. @, ]' \" F    ' e1 ^2 R1 ~. X  j' w
    char *personName = NULL;( G( M" j" r  |. n" @3 g$ G* _
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));- l! T5 d/ {* Z; y8 n7 E0 L* S
    cout << "    personName: " << personName << endl;7 }: U) p( w8 P4 j# k) R
    if(personName) MEM_free(personName);
+ [/ F5 r) `2 Q% r& b1 k7 o    / R2 k7 T2 k( t  z0 r6 ~2 T$ {
    const char* userID = loggedInUser->getCurrentUserID();* R9 b4 q2 \, J/ ^
    cout << "    userID: " << userID << endl;' L4 r6 Y7 A5 Y! B, g

4 O6 s: R' [/ `% C+ D3 G    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
: |5 A4 w# O; E! u. J# j    8 x3 d9 n6 l9 F% x+ D$ S/ I
    char *groupName = NULL;
0 P/ M( `+ ^5 l7 }( v! i    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
) w: |, k. J# @3 ]8 S) x    cout << "    groupName: " << groupName << endl;
$ Q- o$ j6 L: y  m( w    if(groupName) MEM_free(groupName);2 K! ^" I+ f6 a& g5 J
( p8 t5 u9 J; O% W& z; C/ |
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
% x5 [+ x  z8 O' }9 ]% f: h) @    char *roleName = NULL;# W2 `, r: B- ?* G, Q
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));& K  C: ?6 ^% J4 y0 u% A8 k7 r
    cout << "    roleName: " << roleName << endl;
* y: h$ W: y9 @! _4 q+ R    if(roleName) MEM_free(roleName);" y. P6 v/ D4 b1 O
      H3 l8 w  w# \) b! a/ X$ F. A
    logical isDba = loggedInUser->isUserSystemAdministrator();
8 U! A7 ]( i9 q  U- p$ h) j5 [- X    if(isDba == TRUE) cout << "    User is dba member "<< endl;) T5 C4 Q- K) ]5 m6 S5 l9 L
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       1 L. J* C; W0 \& H
}[/mw_shl_code]
. b7 M9 h+ J; p  O2 a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了