查看: 3368|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
Teamcenter二次开发源码分享: 报告用户登录信息
5 L6 @3 I" ~" V! q- ]4 b2 J2 f! D, x6 U: i

) H4 U0 f4 r' Z  T# s+ VTeamcenter c++ 方式:; g/ t0 k9 u% R4 A

+ Z' O' s, c! n2 v; i

& Y5 j7 L' \2 M: D: ]5 u#include <iostream>
+ ]6 p: V" @+ N#include <sa/group.h>
1 I  g  v1 H* s: M#include <sa/user.h>( b9 \' ]( h5 o, _) p4 D% J& [
#include <TC/LoggedInUser.hxx>/ ?4 Y. A: _* r) _2 a/ z
6 F) Q9 a/ |) v+ |

7 \6 A: `  B5 q( m" s9 q; Y! }! E9 uusing namespace Teamcenter;
1 r5 `3 l* H* j, q9 zusing namespace Core;% k" f& E' Z/ d" L+ Z3 p8 z/ G
using namespace std;; ]$ g( U0 |) T- d. m

3 |3 p& O( `% d
( f) U9 O; U' J" @1 ~8 O5 W; P
static void reportCurrentLoginInfomation()  C) q1 {6 C5 O0 L( w) d3 u
{
6 R$ Y+ [! ]5 i2 h, r    int ifail = ITK_ok;
- w2 r" W3 H% N. p0 `" x, N    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
; |$ y0 f$ }& R& m    8 _3 J9 x0 ]5 M( A3 d& M  D
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
# U  P& [( A/ W: a- v    cout << "    currentUserTag: " << currentUserTag << endl;1 u. }# \# C+ V% R" N
    2 M, J! J0 K( X% l/ ~
    char *personName = NULL;
0 t) ?' J/ k, @# t) z- d$ H" v    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
& g# ]4 R+ j0 E    cout << "    personName: " << personName << endl;1 p: s8 h/ a1 j$ Z. o
    if(personName) MEM_free(personName);! ]4 G1 T/ J' `5 Q8 S1 |
    & w$ Z8 V" c1 h, s! t
    const char* userID = loggedInUser->getCurrentUserID();5 }9 t( R' ~, {& C) a! V- G
    cout << "    userID: " << userID << endl;" ^/ O$ y5 b: g. s) ^1 N

, D! \$ K: T3 B" `: B8 o
* ^, I* D) a5 e2 n, V! K/ J
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
% f# {5 b8 s2 l: Q   
% D9 M# Z" C: l: {; A    char *groupName = NULL;
. S: T2 c1 n6 \2 f5 t0 s; a7 c    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));& ^4 B0 O8 Q7 l4 a! P  {
    cout << "    groupName: " << groupName << endl;
7 U( P' B! C+ E5 n+ G    if(groupName) MEM_free(groupName);3 O' H6 j1 J7 X  P# Y
& H5 l! C1 H9 m) M7 o( l6 L2 s2 U
9 D: _( [. ^/ g& W+ t
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
; c8 g9 R* O$ U    char *roleName = NULL;* d3 X: |/ I1 U2 W0 k
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));9 O9 h$ ^* C9 h4 K/ h
    cout << "    roleName: " << roleName << endl;
4 G8 K1 H7 f& G7 A, w    if(roleName) MEM_free(roleName);5 h- P# v3 s# L5 I6 \
   
% s" ~$ a3 K- P. F8 u    logical isDba = loggedInUser->isUserSystemAdministrator();2 M8 k8 z* F: L" Z0 [* W7 I8 g
    if(isDba == TRUE) cout << "    User is dba member "<< endl;) @0 u( Z. P6 d% A7 k& S
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       - R  \7 w" Z& u. S: M; @3 r( N
}. f# j/ {3 y# \/ |4 \7 c$ a- F

' b' [4 h: x. j; k6 x4 m0 |: R# v1 h9 n
0 ?* {  Y) x- I
( X- s1 W* K' c
7 {% |7 ~2 M7 R6 r, j
Teamcenter ITK 方式:; v6 G, z9 B/ n0 M
. S0 s3 ?, n# x4 g! B9 `

( B. Z* {: U& N$ A! D/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */  g& t9 Z; J" w5 C/ q+ X
static void report_current_login_infomation()
# R7 w/ L- h5 ?{
  u/ d" G- O6 ~( H    tag_t
  ]1 d" [  d' v8 v1 r6 `2 a# V        current_member = NULLTAG,
. I% H  g9 z) z1 ?' u$ D- x        current_user = NULLTAG, + u: ^4 |1 [3 H" }0 l5 V. h
        current_group = NULLTAG,  : F1 r) z' i' N( p4 C5 Z; I. Z
        current_role = NULLTAG;- P1 R  Q" F- f  W( f
    char
) v# W# f& _/ P( a" B0 m1 f0 m        person_name[SA_person_name_size_c+1] = "",
% H% t, ~( U0 T' Y9 T5 `- A! `        user_id[SA_user_size_c+1] = "",  
: w' U% {8 w) \% K! V" b) D7 G) u        group_name[SA_name_size_c+1] = "",, l4 V; J# L9 }9 a& M3 o
        role_name[SA_name_size_c+1] = "";  8 v4 H+ t; C9 d! [" d3 @7 S$ }' X

+ V0 ?0 S+ t( `0 p6 r- B1 T! o( g& a3 M

) `) f$ N& g/ H9 W  M! P    IFERR_ABORT(SA_ask_current_groupmember(&current_member));4 T" e' z  C* h7 h
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));/ F& E, p7 ?0 Y
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));, t! T' y) J" C' e' z
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
. _2 [& x9 s( t8 X' c
6 i9 l5 X3 a& Q2 f0 g  m$ T, f4 M

  z- L, k1 O" m1 @" R" G0 G    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));( g9 h. u! _# P  D: M, w
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));" V/ q5 P% q7 [
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
4 }4 h9 K- q( p% A8 C6 D6 x) p    IFERR_REPORT(SA_ask_role_name(current_role, role_name));, M' h& e+ t+ N0 M9 M6 q

, u  Y- t4 k" S0 C9 M+ s* V, @: F% o1 c

+ Y" X. n# X7 I5 J  s1 H    ECHO("\n        Person: %s\n", person_name);
# N3 W- w% v5 F" x' y; Q    ECHO("       User ID: %s\n", user_id);
$ d4 J, P  Y, |8 w( L0 O3 t% n8 J    ECHO("         Group: %s\n", group_name);
, s0 }$ T0 d. B    ECHO("          Role: %s\n", role_name);4 I( o5 c  n! Z/ M& z. ^
}' V; y" [0 @/ f4 y6 e( z
: l2 v. n  r3 Q" o4 p8 o
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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