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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
& Z% P5 L' C0 b: X- I3 ]% k
+ _4 X: V6 V$ n$ P' u3 i1 Q( Z

* T( u, R* i! S- ]! @7 o. H. OTeamcenter c++ 方式:$ b! [3 n6 H% O# {

/ ^+ C$ i) r3 z6 Q; S
* ~9 f9 c$ h% F" g
#include <iostream>
: k, \& ]) W, S. O4 |#include <sa/group.h>7 i+ q3 D6 \# N; d
#include <sa/user.h>
% ~: K6 D% `+ j* E% o9 M- c#include <TC/LoggedInUser.hxx>8 I/ N  Y# e( V
' i' ^  x" p3 H' s7 a. L' p$ `7 _

+ w' N0 v$ n# y7 b  Iusing namespace Teamcenter;
, X! r, L) T6 Musing namespace Core;* C0 z. N) A  H- _
using namespace std;4 [7 H) ?0 s( I( l; g# [+ \/ T- r$ b
& f# g  J7 `5 J& `: x2 f) a
& l7 f3 R% |, Q9 x3 I0 G) x8 M& P
static void reportCurrentLoginInfomation()' p; K$ X, m: ~1 G) U1 `* J
{) [/ a* v" o) d9 Z# }6 w0 p. L( z
    int ifail = ITK_ok;
, H, Q% u1 B) h! n+ z% o' O! r1 i* p    LoggedInUser* loggedInUser = LoggedInUser::getInstance();, K5 T" z& f( _. O
    ' a, m3 k4 i3 `- x" V
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
6 D8 V; P3 H3 o1 h# t" P    cout << "    currentUserTag: " << currentUserTag << endl;( m4 t4 E! e) p9 ], A) s' O* t
   
1 y0 s# `& q( e5 a4 m- S/ i    char *personName = NULL;
8 c" {2 X  Z! p* }    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));# Q- ~* {$ i0 h2 _
    cout << "    personName: " << personName << endl;
7 D  _$ ^$ v" n. e' I; u2 s4 K3 y    if(personName) MEM_free(personName);! v/ V; _5 w/ K4 `* V" W
    ) P- m9 b1 F9 G" N$ Z; `" D
    const char* userID = loggedInUser->getCurrentUserID();
6 F' m5 B  z/ A    cout << "    userID: " << userID << endl;
1 R' p# l' f9 e
% ]  D8 F/ l$ ?6 \

% v( W/ T7 H0 G' l' Y    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();- L5 ^( t* n* K8 A' H+ ]
   
7 z) o. z3 ~$ |0 a6 Z( t. r8 T    char *groupName = NULL;
! _2 u" f$ [/ h    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
; N* ^+ N4 V$ Q6 d6 E    cout << "    groupName: " << groupName << endl;/ E: v# n' b4 P: r& |5 l) r
    if(groupName) MEM_free(groupName);
1 D+ O2 T9 [* Y9 a' v. \9 p; a9 |6 a
6 ^# S) X3 R5 V( m  j
( B# Q% B! Z9 O* K2 Q+ d
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 E, p* i6 v2 h1 J- J# Q- D    char *roleName = NULL;
( B- W1 m3 U0 L5 O9 T0 s/ }    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));# V5 S( {9 `' G( ^+ @# Q" @
    cout << "    roleName: " << roleName << endl;/ S3 Y! d; f8 j# a, S# T2 B
    if(roleName) MEM_free(roleName);
* \$ c( ^, D0 b    : w  g1 R* _  M7 [
    logical isDba = loggedInUser->isUserSystemAdministrator();: k% f! v+ z; b0 g! c$ [
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
1 ?7 \; J- e% Q, }5 i    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
/ e+ _# B) ]4 A' p. d! u}
' P/ _  M5 a% Z* v& I2 r) m% \. m: [/ V8 L! I2 A& U

7 @" _6 y. c0 `  g# B) k6 ?
, u! V5 ^: {, E

# Y8 ?0 g: K+ M+ N" b
4 B8 v: Z5 B9 {6 I
Teamcenter ITK 方式:
) r+ e( j9 ~  n. R9 \" c1 W  `" `* S  I
) v8 R2 ?# F+ W8 X
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
% w) t! H- A: Hstatic void report_current_login_infomation()
4 `3 Z4 }1 ]7 R8 y{
7 d- f+ M; s+ q1 d    tag_t
! N0 S9 }; _  h# d3 |/ F1 ?        current_member = NULLTAG, ; e+ c0 ?8 E0 N9 t3 b
        current_user = NULLTAG,
4 [5 [) p# X, y7 [( L' W        current_group = NULLTAG,  
  D/ }3 ~, ^- c8 e7 @: V4 k        current_role = NULLTAG;7 y7 G9 G- f# b- I4 w' t, n
    char # h: P% O" M5 d! n! `2 V9 ~  z
        person_name[SA_person_name_size_c+1] = "",6 p. o1 b. S! X$ f. q
        user_id[SA_user_size_c+1] = "",  1 y& Y, Y% l# O% d. a& M* V
        group_name[SA_name_size_c+1] = "",
( d* Y! q, V* N) I        role_name[SA_name_size_c+1] = "";  
( h8 D) m+ j, ^, H9 h, A3 w
: E/ ~: ?! u& ^& `7 g0 Y

3 m& \7 E1 Z7 ?' I    IFERR_ABORT(SA_ask_current_groupmember(&current_member));8 F" Q0 [/ c* f
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
% R2 G& A, U, w+ `$ J   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
% i0 v0 ~( Q: o% |! }% P    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
3 _, `1 @5 A9 X3 J  o
& ~5 i& a; z+ o& B4 t: ^' s( H+ [

& C4 F) K$ r- ~/ E! a7 @0 J( f" F    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));+ D  T" q! m( m- \: C) v- `
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
9 Z8 }! f2 x  P- r    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
9 w* H! ^. C: k1 F9 i    IFERR_REPORT(SA_ask_role_name(current_role, role_name));3 I$ g/ l$ e: N/ t, Z( w
, c; X" N# V0 l( I

* {6 w* J+ E9 b: Y. t  J    ECHO("\n        Person: %s\n", person_name);
9 u. i  D; e. O    ECHO("       User ID: %s\n", user_id);6 T/ Y9 l3 c9 s* B
    ECHO("         Group: %s\n", group_name);
1 H$ a1 m: W) v# e, |% h    ECHO("          Role: %s\n", role_name);4 Y0 w1 N3 k/ V3 ]9 E6 c  U4 G; q
}6 ]$ u; r; x# t1 ^

2 P4 d7 r( ]  l8 _7 a2 }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了