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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2017-11-20 13:49:47 | 显示全部楼层 |阅读模式

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息; P+ _; b+ D0 q7 c9 s  l1 I* [
; V( ~$ J6 _- t
- P/ @9 m% f/ C7 @
Teamcenter c++ 方式:3 W2 z. k" ~9 ~6 E/ L
# c3 x1 B/ X% M4 n+ ?% S

; g7 x' w; h% Z2 Z7 J#include <iostream>* e/ U) x( @* R2 A+ O+ N  @) Z
#include <sa/group.h>5 G; m3 x# K6 N+ Z& N; v
#include <sa/user.h>, |; H/ R9 R& r6 T0 L
#include <TC/LoggedInUser.hxx>0 a2 ?# I( x, A) \2 _
1 h6 z' j2 }9 b) p2 K/ z% J- Q
* _% H$ H: }5 T( O3 c9 Z7 _$ N+ s
using namespace Teamcenter;, h' W# `' O- n
using namespace Core;
2 _3 M* Y% I1 y* e2 A) a. tusing namespace std;
& M- H) c3 ]* q( g6 y) W% h* |; Q5 x5 Y. E* B, w$ F6 y* X

0 D8 Q$ K8 Y! y: _5 K% \  Ystatic void reportCurrentLoginInfomation()) R- T& n, G2 t$ F" G; z/ s
{& P3 |; L1 U$ i1 e3 }
    int ifail = ITK_ok;
6 j0 X$ y" ]8 h" n6 Z+ H5 r- l- c4 f    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
$ C, c- Z+ b, E2 p. R    $ Z- k1 Y, ?5 W; k6 p/ h2 a
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();" m0 X( O7 V' K1 \, X
    cout << "    currentUserTag: " << currentUserTag << endl;
0 }2 ]; K/ L7 p. R9 X   
/ \8 U# _) d# h. e6 L' o2 m' t    char *personName = NULL;4 ^# l" _/ l; L* _0 `% Q0 \
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));3 W7 |$ c+ p6 f
    cout << "    personName: " << personName << endl;
( O, x' R. V' s, `# O5 U2 }7 w" w7 h    if(personName) MEM_free(personName);  z3 N7 ~/ I3 E
   
6 Y  u" e$ ?; K+ M" O+ R, x5 v4 ]    const char* userID = loggedInUser->getCurrentUserID();
  ?) _& t. x+ L; h+ R* T    cout << "    userID: " << userID << endl;; a: s) a, |. {7 U+ L

# G% c% Y# @; y' \! p$ ?# T3 H
5 `% w+ |6 e6 c& K$ N/ j! b4 _7 `
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();0 c# H/ Z1 O' I5 l% C9 U! f
   
# J, f8 Y+ e. k. z2 |5 L' ?8 U    char *groupName = NULL;1 U8 j) b+ r. S# A
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));5 T' Y1 \3 T2 N$ [! k* {- B- g$ R
    cout << "    groupName: " << groupName << endl;
, c9 K7 n- R: i. u6 j& S8 Z% ^    if(groupName) MEM_free(groupName);
( `! i+ p* k7 D  x( S& g7 G3 p: G% J$ K8 e7 p% A& U6 W8 r0 V

0 Y2 W3 l% o1 u6 T- u: l8 u/ l  [    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
8 E) V4 W3 e# Z  |8 C8 `    char *roleName = NULL;. _6 `" @2 H/ u' R6 q) l9 C1 s, R
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));$ i; O; ?' q" l& x" A; [
    cout << "    roleName: " << roleName << endl;0 k( Q' P( y1 f" P( f
    if(roleName) MEM_free(roleName);
$ |9 ]; V. t# L5 s$ n5 |/ x$ n% \    ! W5 I: ]6 G' S. ^) o
    logical isDba = loggedInUser->isUserSystemAdministrator();' A) u& g6 c, |! K! _4 [
    if(isDba == TRUE) cout << "    User is dba member "<< endl;& z- v- g" X8 l% F) ~4 Q
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       ! P4 f* m; o! u+ W0 F, s6 b
}
+ ^* T" b5 E8 ?* J7 `; ~/ b* v9 Q2 e$ [- K3 w1 z
  ?# Q/ X* n& e1 j3 E2 W. ^

2 ]! r" ~. X7 _% e& |: F
+ z  |" V/ }$ B& h6 \

. S" o# O0 W, z5 CTeamcenter ITK 方式:
( k4 l6 D6 z% }+ y+ D3 n0 b+ M9 W
% v1 T4 P* z5 E# Q  u! K& Q2 C

3 P5 x) F+ M' {# w8 o/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */' a- O! T9 ?1 n/ D! ~* B; l+ j
static void report_current_login_infomation()) W' b0 k6 J6 M) O- a
{
: `, b8 o, C" T( H    tag_t
9 i% \( N" z; m& Q8 C, e- P3 p$ C8 f! [        current_member = NULLTAG, ( p8 R! r. f6 k7 k  {/ p
        current_user = NULLTAG, , |0 @: h1 G* l' H. G: {
        current_group = NULLTAG,  
( ~$ T/ m2 h. ]% F        current_role = NULLTAG;7 w" P! t8 m$ H7 F: Z, }6 [
    char
1 S! o* G1 p/ [" t& V( X        person_name[SA_person_name_size_c+1] = "",. Q" I9 E. s, |7 `2 q
        user_id[SA_user_size_c+1] = "",  
5 x, s) y. i( m1 V        group_name[SA_name_size_c+1] = "",
- g! f+ }( a: K: m5 f+ n% R        role_name[SA_name_size_c+1] = "";  
* n: P3 o) \+ O
, z, I  S* a5 Z
8 i% J3 H7 K6 e& I/ m/ O% P1 N2 Y
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));8 G! n9 R. |: [: c0 |8 c8 g
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
, g3 E7 u3 \% k4 G8 i   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));! g. P6 Q/ L( _( V* q
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
7 Y0 s% q1 f3 q4 _  t2 y6 X" P% J$ W5 q* L5 T
6 t( C% Y! ~" y8 h) F* ~
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
1 e! Z$ ]) J6 V, `+ X    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
: q" i) K1 s6 C: j. l    IFERR_REPORT(SA_ask_group_name(current_group, group_name));/ b. p: y5 q( A7 N- Z% h- Y
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
- b# g3 j9 r& \* |; ]
* D8 S! R- B( |2 O, i
3 Y3 ?7 q& J+ C8 z' \
    ECHO("\n        Person: %s\n", person_name);
# c, j9 Z" A) J9 a) f, g    ECHO("       User ID: %s\n", user_id);
+ l5 ~" r* m0 p    ECHO("         Group: %s\n", group_name);$ m8 u! v) W% g
    ECHO("          Role: %s\n", role_name);
% `. y$ d  }9 d* ~& J4 b2 l}
& U# y6 K  h0 b* a% k7 d- f, D
1 C! x7 g7 m$ u( T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了