PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

admin 发表于 2017-11-20 13:49:47 |阅读模式

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
5 ]% g% v" s- s4 {! g$ y0 v, f1 J9 D
1 e) e6 @9 @3 C  ~* g! E& S
Teamcenter c++ 方式:
  {; g+ Z1 z" ?0 m# @. g
  H4 X( n+ y; d
% A/ r7 ~/ A7 V* S, a3 z/ t4 t
#include <iostream>6 p0 S2 G0 o. H. r6 s# ^
#include <sa/group.h>
+ Q7 K& |! b( S2 w#include <sa/user.h>. [  Z5 h' Z/ U+ K& ?/ W9 \
#include <TC/LoggedInUser.hxx>
; P5 t; H9 a0 j/ I
  e" R0 Y( m- D
9 K0 R5 ]* l- |" y4 o! D3 ]( p
using namespace Teamcenter;
. t+ e- a6 D: L# h. X2 U0 Qusing namespace Core;; A# ?& a- n/ ?. V3 p* g7 t1 [3 Y% t- ^
using namespace std;" \  E" L6 c/ Y
' j8 b, r) \( @

$ H  I, [+ K) x" v) Dstatic void reportCurrentLoginInfomation()) E3 p7 P* m6 L! w! h$ Z
{
1 L; s8 C6 G. p/ W% X* T    int ifail = ITK_ok;* a- [/ M8 x" J; N4 \3 w6 I/ z
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();7 R; V; F0 C# _, n# ~) m3 j+ U9 a
   
" O+ e5 x" k1 F    tag_t currentUserTag = loggedInUser->getCurrentUserTag();4 y( n, f9 X/ ]: M8 _" f. [- o
    cout << "    currentUserTag: " << currentUserTag << endl;5 I, G2 l3 t: R. G5 X
   
/ v+ e- e( j' c3 O1 g/ w    char *personName = NULL;) c2 J/ H) x7 M8 n) j& W& [8 i! X- I
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));5 c+ R: \) e+ h3 o7 ^7 A, J
    cout << "    personName: " << personName << endl;
+ O" R! _( C8 H. }* z4 S    if(personName) MEM_free(personName);3 `/ Z, m- {+ }4 X
   
' ?' y- G8 X0 X% @    const char* userID = loggedInUser->getCurrentUserID();
2 ]2 n, ~" B! \0 e7 f    cout << "    userID: " << userID << endl;' a' J1 w. X+ {: J& R; x

8 B% q* H) g3 d4 _- k) F) m
& Y& u& j& B- r: ]8 W6 M
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
, i$ y" z2 C2 d7 p    4 {9 x6 u: f7 j% `  x! x
    char *groupName = NULL;
* b/ V2 z/ D3 H+ V    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));1 Y- t% I9 N" m0 s
    cout << "    groupName: " << groupName << endl;
* z* B) i( M! l0 z7 \3 d    if(groupName) MEM_free(groupName);9 O- p" y; c; _5 L" I, y

, i2 b- @( O7 A

( k, g4 D3 T) h6 V    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();! ?) g$ ]: l" Z3 w& p. C
    char *roleName = NULL;. a, f, E* ^7 |
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
  h; }2 A5 F0 J; k1 t    cout << "    roleName: " << roleName << endl;
' T8 p) a( j1 I; [# }) X- N9 A3 J$ T    if(roleName) MEM_free(roleName);
3 n8 r  l  N: k$ ]   
4 c, N6 \# A# s3 E* O& G- h! v% z. S    logical isDba = loggedInUser->isUserSystemAdministrator();
, [# E% T2 u! Z# n0 u# ]6 |6 w5 s    if(isDba == TRUE) cout << "    User is dba member "<< endl;
9 N$ d* z) Y3 P' i  \, I1 t' e    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       : n0 L5 D$ }* L/ I$ M7 H# t( e% T, {
}" l* L2 Y  d0 M% X$ p
7 Z, m$ V, e4 a* {6 \9 ?5 ^! j, D
5 z6 Z, N. J3 i

; i3 Z. e2 U- N2 N# t1 L8 x! M8 k9 ?8 q/ V

" D) S) v8 U" N! Q+ G( p: {* F* aTeamcenter ITK 方式:
9 A; j2 d" o$ K7 l' O/ ]
. o7 s- ?$ I0 v5 @- n, B& {4 j

7 P( p. y2 W5 T$ P/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */9 p0 e2 n% {. `& N- E
static void report_current_login_infomation(): Y/ P- Q1 L% P: G% P
{' N: {+ X% p& u9 i) h, y2 D! r
    tag_t 8 |0 |# |- f1 p  C: _) g
        current_member = NULLTAG, $ c; R2 N" n. u0 B( B
        current_user = NULLTAG, & O! o- {$ ]5 q* {: y) J+ J
        current_group = NULLTAG,  ( |8 s6 a% G4 f
        current_role = NULLTAG;. ]' w) o# X* V. _# W
    char / \& a2 i/ ~6 y) I* C+ k6 h* @  |
        person_name[SA_person_name_size_c+1] = "",; Y7 }# }+ Y8 A/ D3 M! }
        user_id[SA_user_size_c+1] = "",  
0 B0 o" E# w) w; `  @- Q        group_name[SA_name_size_c+1] = "",
1 W9 m$ j& d: K; G        role_name[SA_name_size_c+1] = "";  : p0 ?- l% O6 N/ Z1 ?; z

, W* K3 @: n- {" d2 c, |: Y( B9 l
! W) S  k4 g% L2 f- |
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));# [6 C% S8 k7 y1 d# S2 p2 x
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
2 r( r! l! R9 T   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));% t. C7 c, Z& C, A. r
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));4 S0 m0 H- k- E5 E" }- w
4 v( N; }: {. H2 g6 C  u1 t
% t1 I# F6 ^1 @$ E% H& F. v
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));9 X: S% t# |: @6 q0 d* Y
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));. E) W9 @( I7 U4 C2 l# ?2 O3 d2 M4 D
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
# {( l# T8 J9 I+ n& T9 I: ~    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
% E; B) L) y7 G
& v6 A, u- s# h9 m  k8 X: h$ r
( {3 H# ?9 l* p
    ECHO("\n        Person: %s\n", person_name);
' l1 m- z1 Y3 A1 @' B- Q) n  Q    ECHO("       User ID: %s\n", user_id);
% ?; V: f4 z# Z2 _/ }6 c4 s. w    ECHO("         Group: %s\n", group_name);
- a; Z1 D9 J" q! r. C; [7 N    ECHO("          Role: %s\n", role_name);: G# p" K4 {. |/ Q# C
}
, R( B- |, A+ K! B6 B# \3 f7 u9 @% A+ }, k- T
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了