查看: 2462|回复: 0

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

[复制链接]

4

主题

3

回帖

36

积分

管理员

积分
36
发表于 2020-2-8 09:34:22 | 显示全部楼层 |阅读模式

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

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

×
3 J1 g) B' G# N3 m
Teamcenter二次开发源码分享: 获取当前用户信息
5 G" o' |. v4 m1 L1 j! A" S+ {$ o
. U7 z1 ]) g; r[mw_shl_code=cpp,true]#include <iostream>
2 l% ^( q, p# r, o5 F#include <sa/group.h>
; z) A4 E& o$ q* [3 e- t#include <sa/user.h>
- e5 R. y+ z, q) O#include <TC/LoggedInUser.hxx>9 W+ m5 p" S6 X2 M
* Q+ u" v0 a# A( q
using namespace Teamcenter;
, T! r2 G  L( c3 r9 j' fusing namespace Core;
- _; o4 ?  H. }, X7 a1 susing namespace std;
0 g; L! `/ M0 e! O$ H7 g% s9 k( u6 o6 {+ L
static void reportCurrentLoginInfomation()
' H4 v$ ?4 S, H{7 H% t, O6 L: Y5 T' K& I
    int ifail = ITK_ok;
) Y2 U5 K0 h# @( k# i+ S$ C( f  P    LoggedInUser* loggedInUser = LoggedInUser::getInstance();0 Q7 e  R, e% j
    0 w; p7 g( [' j- a1 F  k
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
5 L- N; Y5 S+ v$ a' \2 H) T. V    cout << "    currentUserTag: " << currentUserTag << endl;
8 |4 I+ l" ~6 n! b# J9 N: q4 d    ; Y9 m9 Z2 v5 Z3 K2 Q
    char *personName = NULL;
6 d+ U# V- M; R7 K! Q) N    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
% l+ O; y0 z9 S    cout << "    personName: " << personName << endl;
; M5 \% C7 C  R    if(personName) MEM_free(personName);
! X  s7 O- U3 |7 X) W    & a0 Z' f7 o0 v# {6 {
    const char* userID = loggedInUser->getCurrentUserID();
" I7 I/ w7 }/ u8 \1 ?    cout << "    userID: " << userID << endl;
( J; n4 ~) W6 Q" p# T: g9 G: u  n
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();3 j4 c" U2 G  ~0 B
    / [- x$ I  {, \& G
    char *groupName = NULL;
- l* q6 M% ?( x( B7 P    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));9 E' l2 S8 t& y/ {) P4 f8 j
    cout << "    groupName: " << groupName << endl;, c3 u' k2 W: g4 x! \
    if(groupName) MEM_free(groupName);3 X8 w) z' ^( F# G' L
, ?* M1 q. K  ?/ F( u
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
8 a! r) \. K- G/ {# k# v  _1 l) W% p    char *roleName = NULL;
: \( [! p4 X# P# Y. S8 x" G    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
8 w8 W% F6 S. r    cout << "    roleName: " << roleName << endl;* A  ~7 P- _+ M, H* l! V% z9 d
    if(roleName) MEM_free(roleName);. J5 g+ k  w/ ?: {9 c" M
    ! A+ H2 g% g5 K% z& r1 d2 m
    logical isDba = loggedInUser->isUserSystemAdministrator();+ V5 h- U* N5 m
    if(isDba == TRUE) cout << "    User is dba member "<< endl;' D# l, B$ Z* r  N1 B
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       5 A- X) Q  t1 n  N; S# H
}[/mw_shl_code]
7 q$ w( f! S8 H$ B/ N3 R& v
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部