查看: 3262|回复: 0

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

[复制链接]

4

主题

3

回帖

40

积分

管理员

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

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

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

×
Teamcenter二次开发源码分享: 报告用户登录信息
1 e) Q0 P9 r& ?5 Y) a2 y$ u8 n/ W3 o8 E1 z
8 R$ {/ x# o5 H6 \- b& [4 f
Teamcenter c++ 方式:
5 I& M. i8 ?+ k
( n0 t0 b! V' x' \9 e" E
8 E4 u+ t0 W9 S' p" l5 B9 J- T1 v, Y
#include <iostream>) C$ Z; ]9 A7 D: K. ?7 }+ f
#include <sa/group.h>
8 R( J, }$ e( C- l$ _- S2 ]' d#include <sa/user.h>
! d0 H' ^: s- T#include <TC/LoggedInUser.hxx>' A% c% P0 Q8 c: z  [
# J* _3 l! d, d; z5 U% D

9 B- \! {6 o) D0 B' A8 Eusing namespace Teamcenter;- K' g5 E( n/ G" u7 w/ @/ X% T
using namespace Core;
9 y1 O  U# t6 i3 _using namespace std;
( V4 c) [" {4 H4 t$ h: K/ U
* s, @# e, A' E
7 N1 B+ h( `, w; Z; ^! r+ e
static void reportCurrentLoginInfomation()( x4 b9 a/ [+ V6 F* G- I: }/ }
{) k% R! w" V: Z! A' \" y! r2 {
    int ifail = ITK_ok;
/ p  l# i& z8 ^  w" |    LoggedInUser* loggedInUser = LoggedInUser::getInstance();& u; ?/ y& P+ ]8 @$ {# ~/ K
      Z; V. O' _! c2 ^% K" h0 @
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();  V/ @: }7 e$ B3 `4 d
    cout << "    currentUserTag: " << currentUserTag << endl;
2 w% F/ l7 y' Y1 Z    1 r# S1 y* i4 T  a
    char *personName = NULL;+ z+ M0 W' ]6 S: n4 u
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
9 N9 X7 T7 r9 ]$ w7 t    cout << "    personName: " << personName << endl;9 x* R% o. S  K" n9 [' y3 p
    if(personName) MEM_free(personName);
3 c9 J2 U$ D  J# S$ d" e1 ~6 @" D    5 n9 \0 A. q! H
    const char* userID = loggedInUser->getCurrentUserID();
+ I$ G8 S9 f7 D4 m* E7 P    cout << "    userID: " << userID << endl;
0 a7 g/ t7 P& k2 _$ {5 X7 t& u% h8 m, z! D' L5 F. T

+ l7 [8 \$ X/ ^0 Y( E. Z    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();* B6 R# I5 O+ z/ _& O5 Y
    1 Z3 g3 P+ x# a7 N% I& p0 N
    char *groupName = NULL;
5 ]  z$ a% e' I, m% W1 y' o# s5 z! H    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));$ k$ ~  ?$ v& R. z1 Y! W* A/ o
    cout << "    groupName: " << groupName << endl;+ e% r' _& j+ O% x. q
    if(groupName) MEM_free(groupName);8 z% u7 N: A  E, }

* m4 c- j9 f0 }. m: L. \) @+ K4 P
; T- }- }) |8 O
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 {' L6 F+ w( O5 N) a" e6 R3 b    char *roleName = NULL;/ s# k# T) g4 Y, Z
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));! X; G3 w6 N- f
    cout << "    roleName: " << roleName << endl;
& [6 C  m0 @; P% M    if(roleName) MEM_free(roleName);
* v1 `5 M: @, u4 Q, e   
) |4 }6 z* Q; @* g    logical isDba = loggedInUser->isUserSystemAdministrator();
* `$ ~2 z3 N+ b    if(isDba == TRUE) cout << "    User is dba member "<< endl;, I% f: W/ c1 A$ Z, w0 I5 m
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
8 t9 @( H. X3 f& }- Z. [! s}
, V/ |# Z4 i2 q1 o/ A& `
* l/ t. n4 C5 _5 U) a# e3 \, h  D
; U0 ^4 H! v, N9 k
% P+ g8 e6 P' y

5 w4 a1 M/ A; f: ]  Q  r# l& T; t3 M

# X4 P- n4 ?; ZTeamcenter ITK 方式:+ T7 d& O- ]% r$ t% _; x0 v9 D
! X: }, }2 z# z; n6 e7 r  [

$ M' O& {: }& y! M; l- ^/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */  O! m7 A, O( C" m! e* ~6 z6 Z
static void report_current_login_infomation()
- t0 T& `$ J: _{
" `# Y& e7 ]4 H7 X    tag_t 7 d0 ~$ r: |- G! |2 x( y
        current_member = NULLTAG, , z; l' B8 T4 M" S. R
        current_user = NULLTAG,
) N8 f7 g) [  z5 N4 B( ^% A- G        current_group = NULLTAG,  
- ]/ H: E+ O& b; b) ?        current_role = NULLTAG;  l) k4 g, p, N6 T$ b
    char 2 \% t/ f5 m" W" I/ I9 q7 @9 U
        person_name[SA_person_name_size_c+1] = "",0 p7 V3 G, }" Z( W
        user_id[SA_user_size_c+1] = "",  
: o7 T" h% r4 ?! P) k- W1 z. W- w( E* k) M        group_name[SA_name_size_c+1] = "",
, i; k' U9 l; s# {        role_name[SA_name_size_c+1] = "";  ' I! e" z. ?1 @
! l: l, d  n. B" h! B
  `+ c( ~7 L& W' I4 l, w2 B
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
" s9 A9 o4 i1 c! f6 C% }    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
' t% v8 \) }" R) E- `3 B   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
/ ~6 ~1 N5 b6 `7 g' @+ u    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
2 W7 m6 \7 }) I  `/ n: b: b4 Q) Q# U+ t, Z! T9 `5 i

8 f! ^0 o( J4 b7 E+ X$ g$ L    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
  d# j1 p/ Z; n4 J! E; z. D: G    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));' s4 l4 a- g, K
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));) `2 Z9 r/ h' h: o
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));# }) l# y; X' [; e2 R9 d: n4 D

. H# b, @. R. g. T6 X

/ d  [9 I& T/ z) w# W6 |    ECHO("\n        Person: %s\n", person_name);
- D6 O( l+ a3 T5 ?9 ]4 z6 w- Y0 Q    ECHO("       User ID: %s\n", user_id);% Q) q1 I1 o& Q' z
    ECHO("         Group: %s\n", group_name);7 H; i& s- u7 g! R
    ECHO("          Role: %s\n", role_name);! V  }8 E* Z) i( [
}
' _! ]3 V) Y1 ^9 U; A3 U) G7 }. K
+ S6 C- ]" F3 d# y( d
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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