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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
: e0 Z% k1 C! e; N! m' K! q
- f$ B( x/ {, Y2 |( C, n
* T% M: M2 K' [) j5 X: ?
Teamcenter c++ 方式:
( J) A2 L- m: y  F! g9 b- o: y& [6 u: m/ p
$ W( |. y. \# E- D0 `
#include <iostream>: z& Y! @: T3 ~% C* N& y8 }' Q
#include <sa/group.h>8 x: \  `5 V/ X( j) t; |- c# K
#include <sa/user.h>
' b1 n1 q+ i! d, `9 k( V4 C#include <TC/LoggedInUser.hxx>
+ h3 V% M2 |/ ^5 M4 U+ q
( S$ x9 H/ X  Z6 x: c7 U( P

% d3 J1 M1 \, }2 t+ gusing namespace Teamcenter;
; T2 j5 E; S, s5 r9 S( eusing namespace Core;
5 G" X) H" W( w+ a" C/ Ausing namespace std;9 H! e3 w$ T6 c7 z, x' c
. s7 y0 H* ?# |% o3 v! O4 b, l
% z# ^& m1 c, J9 L) W$ @' p
static void reportCurrentLoginInfomation()9 F9 R, z: E8 F3 G; f, K5 m
{; a  d% @# n+ i5 H" o. c
    int ifail = ITK_ok;
& V- V. q7 m1 {" s% D! h    LoggedInUser* loggedInUser = LoggedInUser::getInstance();' Q, j1 a1 K# _$ p* W! [
    ( v/ y: \+ k: b3 W4 t
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();& x+ E/ h; n8 f  ?
    cout << "    currentUserTag: " << currentUserTag << endl;
0 `2 G7 u& `' O& w! D   
7 W1 `8 C0 q! v: W2 ^3 y2 `' q( R    char *personName = NULL;
. u/ W( e# L) i3 U. R* b    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));9 L  g; a& G2 `( ~/ j
    cout << "    personName: " << personName << endl;
, e' M- c8 H$ s( I    if(personName) MEM_free(personName);  C- a. q1 ~) E3 ?8 F1 K
   
3 _7 u: N6 J$ R' W7 M0 v* e: l    const char* userID = loggedInUser->getCurrentUserID();! i& y4 c/ [& z0 Q
    cout << "    userID: " << userID << endl;
! _" s$ d" [% |( I( i2 I! x1 d/ s, I1 Z! k7 Y/ n! i1 H7 _) J1 A$ {

2 y# U& ~% @- a$ V/ x& V0 ~    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
) T* i1 E" E" e( I   
6 l  Z" V  i: {, H% P; b, \    char *groupName = NULL;) N* S$ T2 I. ]! q0 O5 h
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));0 d: N0 }) X5 w' K8 u6 E3 L4 v  L
    cout << "    groupName: " << groupName << endl;7 ^% ^; Q- g4 P1 h3 S2 w) v
    if(groupName) MEM_free(groupName);/ g! F2 x' ?! k4 I, F: E- @# o% S2 y6 q
1 L; y4 A3 R2 Q  h) @- U( S

1 G* @& s2 k7 X' a, x  ^    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();1 n3 B( P5 r- H( u  ^, a
    char *roleName = NULL;0 b5 x# F: H  _
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));  J3 I9 g0 R2 q3 j6 e2 }
    cout << "    roleName: " << roleName << endl;/ _7 s; K9 W* m  i6 K& R5 Z
    if(roleName) MEM_free(roleName);
* b; r; G* C* P% H  L( l2 {6 N   
7 M; x- q& e- x    logical isDba = loggedInUser->isUserSystemAdministrator();* b( ]* M- g: S2 t7 c( a7 [
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
& T5 m8 r  d, Y& a7 M- f    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
% b, P3 u/ |  H2 `. H6 ~}9 G+ h6 b6 I5 V# z% A, p
! Q4 Q+ h6 {' e5 s
( K) @" B: i/ g0 s  T$ l& n

; t2 a& l6 h- y; C* k0 ]2 _. P' S0 y& s9 ^0 Z" F& J/ p4 I% c

1 S) [" n2 s* J4 W  T# QTeamcenter ITK 方式:
. ^- Y# H: n8 g- @
6 L' f( e/ I* n2 X; |0 a1 s
# B/ n* f9 P- N: ]2 M, E* T& p
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */4 _4 B, l* J) E3 O* {0 u! }
static void report_current_login_infomation()
! c$ A( D5 q" b" m6 c6 K! A& t{8 W$ c0 C3 t; \9 d: l0 \
    tag_t
. R+ s$ _1 G) @4 O        current_member = NULLTAG,
9 t4 K0 A: K8 f! b+ B: v- t8 K        current_user = NULLTAG,
9 k, H2 u4 F3 h: Q        current_group = NULLTAG,  
9 Q  J" R+ Z. T# \; u8 x; z0 A        current_role = NULLTAG;( C% m5 A& l, R  O& m
    char
2 n4 m5 }/ A5 N1 ?5 f7 C0 z/ o. T- v        person_name[SA_person_name_size_c+1] = "",
' R& \+ d# R; {. q6 R        user_id[SA_user_size_c+1] = "",  
9 o1 _4 T  K! g7 V8 {- L        group_name[SA_name_size_c+1] = "",+ A6 d- U  D/ T0 i* N- h1 s
        role_name[SA_name_size_c+1] = "";  ) i0 b4 ~) |) i& N3 ]

! c3 n+ N; j: r: ]) O/ R! [  v2 Y
' o" r& ~: h( W8 x& k4 \
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
7 y; R4 T3 S; g- ]' t7 c! r$ C    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
4 s5 _$ I  `- l1 }   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
, b) f* R8 s* V, \) C- Z' X    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));/ ?4 |- C- L; w$ ?. {1 ~9 [! r
# `) l( ~. h0 R* W0 H, t7 U  T
! M% x3 h1 T6 m  O1 p
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
" ]& N1 W$ M1 ]/ I: a8 }) y7 |7 u$ Q8 s* P    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));( ?# ]) c& ^; V; n0 H
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));6 `$ X: P# Y+ @+ A0 \) S
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
! J6 ?' i/ a! n( R1 ~
. r/ I; L# x+ |$ ^( Y% ?" L

. G# ?( p* I1 i9 Q/ X% K    ECHO("\n        Person: %s\n", person_name);
2 _, g% l2 ]8 R    ECHO("       User ID: %s\n", user_id);1 E2 c. l9 X$ F7 ]; |
    ECHO("         Group: %s\n", group_name);
, ^2 e5 Z, U( W) K# I( W    ECHO("          Role: %s\n", role_name);
1 q& i- z4 n- k/ Z* C}
* R3 ?0 a- a. b; \/ _  R6 v
# N0 c: J, C$ @& E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了