查看: 3405|回复: 0

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

[复制链接]

2477

主题

1280

回帖

8万

积分

管理员

PLM之家站长

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

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

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

×
Teamcenter二次开发源码分享: 报告用户登录信息& l0 N# i3 F) o! _1 j8 [7 r; Q

# w+ y' c/ \; C5 H: V' s
- k5 C# v1 g, R
Teamcenter c++ 方式:  C/ L7 L: K2 k$ `

8 y1 B9 b  f$ i* J  c
" n' h. D. m" ?; i& C7 P$ b8 n. K
#include <iostream>
* a. V; d. `; M) p% |7 Y# g* o#include <sa/group.h>
, E3 s3 J0 q4 i#include <sa/user.h>
1 c) l# p, U! G  |#include <TC/LoggedInUser.hxx>
* U+ c; x- a, ^7 \3 d$ v8 ^8 n" W) F; [$ S5 ?2 g( A' G9 e

0 c& Z* M) |5 V  d7 n7 L. dusing namespace Teamcenter;# V7 f2 F0 H- L$ ^
using namespace Core;4 S7 ?& H4 s: p4 ^- d% n. Z
using namespace std;* B. |' ?' W- t, x$ d- k- Z

5 X* P( e  l# Y  R$ l3 t. Y
: k; s( p: l6 L/ e! l8 X% W9 C
static void reportCurrentLoginInfomation()
: C! r2 K0 J; P8 ?% k8 V{. J; U# t6 B$ ~% K# S4 Z# b
    int ifail = ITK_ok;
; q# @3 y  \$ [' x9 w3 E    LoggedInUser* loggedInUser = LoggedInUser::getInstance();& B$ B0 ^* s5 S. r- N4 m
    9 U  Q  W# E' j' s
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
. e/ L4 `3 Q" a( B, A    cout << "    currentUserTag: " << currentUserTag << endl;  ~$ n2 R+ |6 M8 `
    + \% U# K2 h( j* a' G! _' P+ z
    char *personName = NULL;
+ q3 |2 H1 |9 a  Z    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));" m! v' F$ [0 v3 G: B2 f, ~' I1 T; ~
    cout << "    personName: " << personName << endl;# d: Z- O* b! m7 O2 ^: n0 i
    if(personName) MEM_free(personName);/ l) _( Y* f; n! c& W7 [
    4 V% l; U% w6 x1 ?% m/ r) k
    const char* userID = loggedInUser->getCurrentUserID();' h* l& }" P5 P: c, ~
    cout << "    userID: " << userID << endl;
# ?4 E) g( T7 O
8 G0 P, y9 t" _2 c% k. V, V& @0 k
# d& _% u! U' S8 j. C7 L: @
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();" T! g+ u# `, P( C8 _' x
   
2 [2 A) ^9 N6 ~" U- g    char *groupName = NULL;
8 [4 R9 ?: C$ U" i; [    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
2 c" G8 O, Z& q% v/ s8 @  d    cout << "    groupName: " << groupName << endl;3 a5 a9 y2 ~) L  K- y
    if(groupName) MEM_free(groupName);9 |" F" _1 R1 p
! N+ k3 D$ {: Q" `: c/ w' y
3 S+ O  C" R, {1 i
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
7 A0 G7 a& L, T$ k( `    char *roleName = NULL;
4 e& [# T+ O& T1 B: V" v/ x$ T    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
2 k) u! G& T3 D/ d" S4 k" J. R. U; h    cout << "    roleName: " << roleName << endl;
9 |: ]) d7 G; ?9 O. T9 @+ ]6 F    if(roleName) MEM_free(roleName);1 a6 Q7 E$ N* p  B
    + s2 E/ c. z9 S  I% I3 Q4 V7 v
    logical isDba = loggedInUser->isUserSystemAdministrator();& E; Q5 O4 }" {: X* v7 ]
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
& T4 l" [7 f4 C" {4 D8 a    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
. T$ a1 \) C9 ~}6 F7 U$ w. n$ l
4 x- E, _( v) |6 l7 {
+ L7 @4 k9 b7 Q/ R/ [7 c

0 u# j7 z1 F) n! O0 Z( {( B+ k6 U5 S# `# f  z% s

+ e: F! G- R* u2 E" nTeamcenter ITK 方式:
4 l& T) ?, U5 W, o5 S/ \3 _' v2 I4 o
- o) m5 h9 F4 s
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */$ B; D; U, L. W
static void report_current_login_infomation()
) T' a1 z0 l: |{! {, A$ \2 D5 f5 ]0 n% Y
    tag_t ) A' i: L& J3 z4 M# l2 ^( O) O
        current_member = NULLTAG,
+ x9 E6 I" r; s7 c5 v+ s        current_user = NULLTAG, ' _9 M; p) D+ Z: g3 w
        current_group = NULLTAG,  ' J- s5 w# d6 y: L* a
        current_role = NULLTAG;% F+ z5 L$ f% b, y
    char
8 U+ B# L7 b; M- ~& \* f. J6 S        person_name[SA_person_name_size_c+1] = "",
% E4 b; E2 O4 N, p. {        user_id[SA_user_size_c+1] = "",  4 V7 W3 i9 ~3 N8 W) \* X! L" I
        group_name[SA_name_size_c+1] = "",
- q: F2 J  M4 l  t, {$ P9 j6 ?' j2 w        role_name[SA_name_size_c+1] = "";  . v9 @- V+ A0 B2 }
+ O( i! H* p1 L/ B" B  z# N
7 I) S' I. w  q2 m0 F
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
% t6 f. e! h6 k) V    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
! V0 q2 t* i' S# @6 v   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
* I, p, U0 x4 W' B    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
9 }7 j; q0 o9 u( i% \
) y1 b7 t, h8 z* [! A4 O' n

: g% w: t2 B; W# }8 P    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
6 f2 }* Z3 s, a5 {9 \( v    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));, _7 d; n" i# d6 ~
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));1 u; q% c( A& S, V3 y1 a/ v  v
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
- d5 Y6 B* ~& p# N8 f8 {
, t5 P/ l5 A# v. m& Z* i/ z" [
( G5 ^( \% A1 q* c2 S8 N
    ECHO("\n        Person: %s\n", person_name);2 i8 j6 a* x0 H3 c+ ?/ g' j8 q
    ECHO("       User ID: %s\n", user_id);' s7 ?1 K& m* I9 d# U$ z7 L
    ECHO("         Group: %s\n", group_name);4 t, Z4 R& j# I/ \# V  @  f
    ECHO("          Role: %s\n", role_name);
, t6 }. h4 ?3 _# D}
, B: G, ~) }2 \$ ^5 G" o
5 h" f; ]( u2 \  f3 r
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

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

本版积分规则

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