查看: 3384|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
Teamcenter二次开发源码分享: 报告用户登录信息8 S6 @6 N1 H3 h& a5 X7 v
' G) o) V4 v; e4 U5 T1 g
; ]6 n  x4 v. r0 G" I( f1 B
Teamcenter c++ 方式:3 I$ P3 Z7 N: z% p, x" h! a& a1 h1 Y$ |

7 p' F3 H, t, {6 c9 c  C$ @' V8 Z! ?

7 f. T3 s% R/ O" i7 A#include <iostream>
% W+ {9 A$ a7 @" c# {#include <sa/group.h>
, o' N) s) [& W' |; j#include <sa/user.h>6 ^" R' D( ?3 T
#include <TC/LoggedInUser.hxx>
2 k; U: ?( C" ]. R, j* i2 p. H5 Y! C% i* {5 L; d

, u; ?6 {. w3 R% yusing namespace Teamcenter;
: U( Z9 _2 u3 w4 Fusing namespace Core;
8 A# I* |) J- A8 Wusing namespace std;
, U3 Q$ S. \& E/ ~5 G  b
* i: E) B, A% i
0 H  y: d& I  Q
static void reportCurrentLoginInfomation()) [+ l. L2 T; u& N3 e' L& ~1 d! s
{. a0 K  C& m5 }& r
    int ifail = ITK_ok;. |4 [9 |0 J1 x
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();5 U+ x4 J, @2 G4 c! K$ N
   
% \# j4 s( S& A0 @9 U( s/ _0 F    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
& j: y( \# j/ l6 _    cout << "    currentUserTag: " << currentUserTag << endl;
0 S8 Y  e. W( B6 G( L   
/ M8 u7 w2 S7 E    char *personName = NULL;
4 S) U# e! C. V4 B: N    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
( j  R  M4 N( |' }9 x* V4 ~    cout << "    personName: " << personName << endl;
# ~* B! ^- J& \    if(personName) MEM_free(personName);
$ S; ]7 H1 u4 |3 u    # |% |8 w) V- [8 j7 C, w7 U
    const char* userID = loggedInUser->getCurrentUserID();" w2 ?/ m) g% p
    cout << "    userID: " << userID << endl;9 u( }4 K( T2 \$ a& @. G/ I

8 V  M( R) B0 e* @

+ D& u# g" i! w5 c; b    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();# y' Z7 S4 V( `" u5 \9 w" m2 ?
    $ L/ I  u, o. X
    char *groupName = NULL;9 Z7 N- [, j; G! h, _
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
# \$ Y& W# u# t* O* U& m$ A) k2 [    cout << "    groupName: " << groupName << endl;
- b8 [. E- l/ ]" v; ]  \    if(groupName) MEM_free(groupName);$ e, o5 s+ ?* r1 r' w

7 R8 P7 [8 |  j

/ a6 y8 N& u2 O- }, e6 x- T    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
: S8 v5 t( y6 h: C    char *roleName = NULL;
. g' R1 t! n" S. `; x    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));+ l. j3 g5 M7 V7 r
    cout << "    roleName: " << roleName << endl;" L' A& v4 {! z- M  q
    if(roleName) MEM_free(roleName);0 B4 l) E$ E$ ]% A" P
    6 L8 c/ E; y' w% A, @+ f( T
    logical isDba = loggedInUser->isUserSystemAdministrator();
* e+ H" l( q2 N+ a4 B2 L6 E    if(isDba == TRUE) cout << "    User is dba member "<< endl;
( ]! x1 C& D2 T; `7 I    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       9 V" k! f$ o, h' B% V/ y
}1 V/ U& x. L8 n- J
5 e+ D- J& h" W& S# I
* S. V  _; W, b  W. I5 S

+ e$ l. S( c3 T* L) B/ n. C" w+ K/ @4 [+ G7 H# C( |

* h& ]% E/ I3 nTeamcenter ITK 方式:
+ t! U3 ]  p- f% O8 K" P
: \$ ~  t+ T' H5 M% G4 _2 p" o

6 _: w  w% Q$ M7 F9 D) `3 \% c/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ [+ V9 W* V; s& h
static void report_current_login_infomation()
3 D& g: o' K. A{& Y4 t, Q2 {6 m9 k, \; O8 ]8 @4 u
    tag_t
+ V- _2 L, ~+ K3 l$ j' p        current_member = NULLTAG,
) z! Y- j) z& |! {* _1 O        current_user = NULLTAG,
! w* s# f6 \; z- e$ D        current_group = NULLTAG,  2 O/ N* Q: _, c' @. x7 A
        current_role = NULLTAG;
0 h+ y1 S9 o, n% Y( g7 W* A# w5 ]& `5 G    char
% N; L8 }0 x$ H: L8 v        person_name[SA_person_name_size_c+1] = "",4 O' a( i  t4 c0 c
        user_id[SA_user_size_c+1] = "",  
% @- Z. a& E5 L( x; K        group_name[SA_name_size_c+1] = "",2 O( U# ?5 W, m% d
        role_name[SA_name_size_c+1] = "";  : r0 N% C3 h: ?5 `4 f
& M( k+ C" L' I/ J& X- Y) K3 ]

  ]2 k/ U/ w+ n, u5 f8 F    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
& s5 W3 O0 o2 s$ M- T% p' j    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
& k+ f% e* h7 }1 W0 E8 M' ?   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));3 _; e. o1 X( m0 D: C- H
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
- u# D/ b# x6 n  `) W$ t  v. d( e* Y9 Y
7 [% q+ B1 Z* Z1 M1 t$ l
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));/ _2 ^" ^- r/ S$ |+ V6 o) \4 h# F
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
( b! C0 h# ~9 U- a7 S) f    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
  d0 ?, Q5 t# i" }    IFERR_REPORT(SA_ask_role_name(current_role, role_name));4 ~) |+ k1 m0 g5 s. u

, |& O2 `; _# k* Z
& W2 [/ C7 K' \6 k7 _) A
    ECHO("\n        Person: %s\n", person_name);
- X- [; j" {9 h1 m- X% `    ECHO("       User ID: %s\n", user_id);  g5 @" X  s( o( Y
    ECHO("         Group: %s\n", group_name);
6 C" j( x! ?8 K# U    ECHO("          Role: %s\n", role_name);
9 p" ?) r6 x9 O+ q; P& v}, G% L) ^" i$ ~/ D( F0 i  ]

0 l. D2 O/ {. b4 w: I! K
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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