查看: 3266|回复: 0

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

[复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×
Teamcenter二次开发源码分享: 报告用户登录信息7 ~  w$ K5 T5 _# z! R1 y0 s! E

! `3 H1 z4 Z( F6 y1 b& |
- E0 e' v& C1 J
Teamcenter c++ 方式:- s8 J8 M0 O, s' _6 _. o
5 N& D- `  G5 ]/ O9 a% Z

3 X0 y9 i5 A. I3 u, g  y#include <iostream>' v6 ~& `0 `) E3 `9 z) t. g
#include <sa/group.h>
! X5 ]+ T1 ^8 z7 A/ I5 ]% e#include <sa/user.h>4 V3 O% T) [1 `% l* y' T
#include <TC/LoggedInUser.hxx>
6 i) {1 X8 H* I$ N6 [
7 b- Y' `3 j7 }1 E" `$ F  _' k9 w

5 Y9 P, L/ Y4 q& ~- Lusing namespace Teamcenter;
% v  A$ O" v7 s6 d- V1 ~5 }* yusing namespace Core;
9 w1 h3 m) F9 v+ y7 N. f" U7 n7 _) lusing namespace std;! A; X) V4 |/ R# t3 U3 _0 ?

- Z0 e  m* |/ s& H+ Q; V$ b
5 V+ T- }1 N( |* M4 o
static void reportCurrentLoginInfomation()$ n. r& {: [$ e% N
{  R. r% c1 d( ^7 V' s
    int ifail = ITK_ok;. b% K. F) c6 r
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();: m" H& \$ U0 @
   
. Q) J9 v1 `! W5 [4 N& @% o0 ^/ a    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
& d3 Q- e3 j  E! C9 K& B3 y    cout << "    currentUserTag: " << currentUserTag << endl;3 E  f( X9 r; M6 a. w# m: ?+ h$ J
   
* P3 U' x3 X9 s- Z) S- H7 v    char *personName = NULL;0 U, P; _9 e0 F) v* W( f
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
( I0 r$ N) w, f, A    cout << "    personName: " << personName << endl;
0 b, o7 ?2 A' q& h$ f- P; r0 D    if(personName) MEM_free(personName);* f7 E0 G. h& ?/ `$ w
   
1 O9 N. g+ g; p    const char* userID = loggedInUser->getCurrentUserID();5 X! D% ^" D6 Q( t5 t
    cout << "    userID: " << userID << endl;4 w0 e" a; o; j9 a% ^

) U# C! `- d# I2 B7 @- v- C

7 U0 I8 ?8 ~* v1 {8 Q6 u* M    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
5 l- H& K" e: x; Q* C   
+ ^. F/ ?2 A& ^& W    char *groupName = NULL;
! w1 F) m- [" g- Z* [- B/ u    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));7 b+ W! h: H, b  z$ d
    cout << "    groupName: " << groupName << endl;# P! P3 p% N, i% b! d8 s( q$ D/ u; X
    if(groupName) MEM_free(groupName);
! J3 v; F, u6 ]5 e, b7 |
$ Z/ e( g8 j" v5 ^& ^: m; g
! {) Q7 ^9 t2 n1 K, p# k1 _& y; o5 L
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
1 ^. G6 `- L; G/ c& f    char *roleName = NULL;' R8 H0 w# I3 _
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));% b* y& i2 e8 z
    cout << "    roleName: " << roleName << endl;  h" k1 |7 g, p
    if(roleName) MEM_free(roleName);( x1 {1 L' B3 i7 g+ t- t
   
) ~/ V9 X4 Q0 G( T( E    logical isDba = loggedInUser->isUserSystemAdministrator();/ b- S+ J9 r3 {% `/ z
    if(isDba == TRUE) cout << "    User is dba member "<< endl;% z. L5 Q( y) r( d! X
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
; ?) o6 e7 r0 h, t; j% k: U}0 {) L2 F" r- e

5 g  A8 ?1 v/ ?9 e* @2 m# A% |& C, Z& ^; _' I
3 @) j8 ~# y1 y* ^6 D  t, ]" E* o. ^

) n' A5 i! S% S# N' e
8 `/ c7 d5 M2 l" _
Teamcenter ITK 方式:
8 u/ {; i, J9 c' z- i
$ q. [2 z8 f2 q. E1 D' V' P0 q
' v8 D& P7 l/ R! V( t0 Z
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
8 _& [% |5 M. t" n/ [static void report_current_login_infomation()
! ^' e' j, w5 l$ {7 U" E: U1 M3 ~: U) D{
" }' J" J9 z2 f) h) j    tag_t
8 X0 n3 N+ E) B6 n/ \5 w        current_member = NULLTAG, 2 r% H0 a7 z6 c4 @7 ^! Y
        current_user = NULLTAG, 5 w$ c. s( V/ ~! {
        current_group = NULLTAG,  
+ u  o( y: \  D- y, Q( x        current_role = NULLTAG;
4 B# G% H! w3 v    char
5 b. ~3 Z5 j9 W  e: |        person_name[SA_person_name_size_c+1] = "",
, a( T7 M" b) S# X3 Y3 ^        user_id[SA_user_size_c+1] = "",  
" {, F8 L0 h! M5 u8 Z4 f        group_name[SA_name_size_c+1] = "",( Q% H( F; n' E. c' ]# n
        role_name[SA_name_size_c+1] = "";  5 y) X% v5 {7 q
" ^# q) w; U' w+ E0 K
: a: I6 x& N0 u' W
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));- ~" {) B4 E5 M
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));% D  _3 U4 ?8 N0 \- ~2 z0 v, i7 l+ P
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
- A' x5 P& I$ ]- o    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));9 G! V  ^2 c1 R& p% U( w1 S

9 C* z5 D7 R- l9 b4 Y. p+ ^0 k# E

! B3 ^& i& A8 \3 D1 s5 m7 U    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
  K) e4 L3 X/ M" V$ H2 V    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
" N! @1 @9 j% ^    IFERR_REPORT(SA_ask_group_name(current_group, group_name));2 \1 G/ ?' e/ {: n% P- ?
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
* ?+ p: [+ g( U% @. L% g4 P( w9 X1 Q9 S2 ^+ `
7 m% ^9 b3 ^4 S- _& W, f. K
    ECHO("\n        Person: %s\n", person_name);
1 d5 _6 B9 r3 A6 _4 ^; _    ECHO("       User ID: %s\n", user_id);! y) U6 G, ]- U0 Z* s
    ECHO("         Group: %s\n", group_name);) l) s! A$ n0 @# {: [1 [2 y
    ECHO("          Role: %s\n", role_name);
9 X3 c! [6 H1 y9 J; ?}
2 |3 P! ^/ B* O1 k
" B' n. I2 r5 U1 N6 U
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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