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

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

[复制链接]

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

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

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

x
% J9 T$ n/ c$ Z! {6 L  I8 w! l
Teamcenter二次开发源码分享: 获取当前用户信息
: _  n4 H5 m! y! ?# b  f. X* l* Y: P. ?2 _$ i1 G) O# `
[mw_shl_code=cpp,true]#include <iostream>7 O+ s4 f' D9 s$ r$ A& @" E
#include <sa/group.h>
, R/ T. j! i! f0 l, @#include <sa/user.h>' ~$ _2 ^7 f$ {8 ^7 N, W: U: v
#include <TC/LoggedInUser.hxx>2 f! d% [8 A. M! v

6 D. @* e, T! N5 t5 \" C, Husing namespace Teamcenter;
  ~+ ~+ N. V0 I7 v+ b3 e  ]using namespace Core;
  r+ m" m" D& i# `using namespace std;$ }% p8 Y% r; C0 n

8 Y1 {5 Q4 {) _8 N2 J8 Ustatic void reportCurrentLoginInfomation()0 Z" ^; ?, B6 i% g% U
{
! a5 I" L2 j5 X* F+ u9 H; C: ~# W) Y    int ifail = ITK_ok;% r! w" w8 h* N
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();' S- {9 l1 ^) U2 A7 q7 G
   
# t' d1 D; o) j! J% j+ j$ |; }+ U    tag_t currentUserTag = loggedInUser->getCurrentUserTag();3 }$ x" x* \- v4 w' c7 A1 w
    cout << "    currentUserTag: " << currentUserTag << endl;3 R; k( y: g+ D- Y( z3 W) F: a
   
2 D/ a( X1 o# m    char *personName = NULL;
. @0 a* B6 o7 J& G( @. a" N; O    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
8 N! r( @: O  l    cout << "    personName: " << personName << endl;
; `  J- L" J1 A. V    if(personName) MEM_free(personName);( N' e1 c, C( k( i7 r0 h8 N- v# t
    $ L" o: N3 I. {' A
    const char* userID = loggedInUser->getCurrentUserID();" z" z1 ^3 f2 W9 o5 C
    cout << "    userID: " << userID << endl;
0 A: D, X+ A: b+ S6 @' Y' G
& I( l6 A# i% O3 S! U$ x    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
! P  Z4 |# t% G: P# M   
) P! ^8 C% H- e- S7 n' o, Z    char *groupName = NULL;
# y, \' }: F8 @7 r6 X    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
/ M' H% }8 S. w  M7 g6 K" H% |6 u    cout << "    groupName: " << groupName << endl;  `$ A$ D* ~- D( p* K, Z  T& ^( B
    if(groupName) MEM_free(groupName);
7 n8 }3 ~# o3 m$ V$ d  k# R" G) L4 P+ I/ t. m8 x
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();% N- V* E) R7 p, q; @
    char *roleName = NULL;2 e4 ^( @8 W$ w3 O7 H/ L
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
! n+ _: F0 Z% w6 B: T    cout << "    roleName: " << roleName << endl;0 q! Z/ D$ V$ X$ ]1 G
    if(roleName) MEM_free(roleName);
8 ^+ Z% a2 A8 e    7 g" l5 ]6 ^: j# O: V5 A
    logical isDba = loggedInUser->isUserSystemAdministrator();: m" O$ T. S3 a$ Q  Z/ Y
    if(isDba == TRUE) cout << "    User is dba member "<< endl;/ b! n; Z# r2 k3 X5 f% _9 _
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       . V4 ~& [2 z" L5 @. ]0 F4 B
}[/mw_shl_code]
, t' W( n) r/ _( V4 c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了