PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
& U; q) A0 n4 ^. ?4 d$ R7 f/ l! `8 U8 H9 z) a3 F) `

& n4 |0 W2 I& E( n. WTeamcenter c++ 方式:. A  F5 p) |+ {" }5 b! V6 B- L
; c3 S$ O' g5 `0 Z
6 B9 U  P* `) U. x  A
#include <iostream>3 j  B* E- ]7 I) r. a% m
#include <sa/group.h>: [" b2 g5 o- r1 @% }
#include <sa/user.h>' x- x) |9 ^) u: N) B, y
#include <TC/LoggedInUser.hxx>5 N% X, t# |* p

2 r4 W0 o7 D  v3 u, C

% {" e/ X; Y) Cusing namespace Teamcenter;
3 S6 B% |6 {/ f* Y- k) Qusing namespace Core;. V8 s! x' V7 @  [
using namespace std;" @0 m9 a* g& ^
: F' h- x1 t, k3 e
8 h7 H+ P; _( u) z9 D) B; `
static void reportCurrentLoginInfomation()
3 ]( }4 o1 w; F( d' [{
& J3 O6 T) ]4 T7 J. a  d    int ifail = ITK_ok;7 ^5 Y/ s, n. C
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();6 _* ^: a8 t5 F
    $ s$ X( F4 b: ?2 N* r, l
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();" D+ F- m' L% i* L$ ~% S$ ^
    cout << "    currentUserTag: " << currentUserTag << endl;
5 R& k+ O0 |  a6 o+ q) n    , D) J5 c% B: x/ H& n9 `8 r! a
    char *personName = NULL;+ W" e. C! C. L+ y/ a) `  E6 \5 B
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
' U* ~) F# `  m% [& E. k    cout << "    personName: " << personName << endl;
6 }+ C# n  _5 e) o$ {    if(personName) MEM_free(personName);
9 i4 v9 o6 @- k1 Y, O9 W   
: q& \2 Z) `# h    const char* userID = loggedInUser->getCurrentUserID();
' m4 l6 \% H, |1 s# K, `8 u    cout << "    userID: " << userID << endl;
! x) Y* e5 T! P4 b0 [8 m% ?& @& A$ q; O8 a! l6 x! n- ]8 R
4 t# d8 ]& l( k: i5 P
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();# o- q8 }$ o$ C+ {4 T$ g+ [
   
+ b8 h* W4 D9 u% T9 T0 N# L    char *groupName = NULL;1 T' V4 {+ K/ n' U7 ^* V
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));6 O- e1 B6 ?/ t) s7 G# @; d8 b0 G
    cout << "    groupName: " << groupName << endl;. d: O9 N; ~# U
    if(groupName) MEM_free(groupName);$ T3 W6 t$ @" {3 z

5 Q/ G# `( [' A$ x) D" W

7 ~4 j) |  y$ }5 x    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
; z5 i$ O4 _8 m0 I) M  X' s    char *roleName = NULL;
. \& u# m/ p' v; T- K  D    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));& N0 _$ ^2 `, s$ z6 `& j
    cout << "    roleName: " << roleName << endl;! n' W/ R8 P# d9 i& B
    if(roleName) MEM_free(roleName);
* p: C$ w! k- `   
3 R+ i5 L) Q( l, \& l$ t$ w    logical isDba = loggedInUser->isUserSystemAdministrator();) n5 p( f6 P7 ]  m2 G3 D
    if(isDba == TRUE) cout << "    User is dba member "<< endl;+ u! f* C3 j  O% N
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       ( h0 `2 T* Y5 o, W6 N
}
! J+ L" @7 _& R7 p5 a$ ~$ E& [! k6 P# }! V* Q

1 G) P7 k" G* [% B+ B; {$ @

! \( O5 C! l" L/ Z% W  l3 T! N
- k) v5 @3 j' x$ D% u2 d

" S  ~  I) q; z3 ]+ }; x& RTeamcenter ITK 方式:  \1 U5 b" G# {0 L3 z7 O! o% }

9 |/ m8 d8 h( Q, i% m! b. N

! n/ t# n  s6 l: p' c/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
- L# M% p; t6 t) D/ K) Q3 Sstatic void report_current_login_infomation()
2 Q. N  m+ h( j. _$ N3 W, a8 w3 x1 N{
! Y2 n7 e$ h+ f5 K- m    tag_t
, ?3 W4 [: p9 Y. y6 b1 j' G9 i        current_member = NULLTAG, 9 D) ^* O; s2 Y# B- |
        current_user = NULLTAG, : X* R: `; ^! j
        current_group = NULLTAG,  
- [& k. T& \- E- ^  W  q; ?        current_role = NULLTAG;
" ^, ]' j: Z% P+ y  l    char
/ k$ }/ r, {8 I+ ~2 g$ N/ N) ^8 M        person_name[SA_person_name_size_c+1] = "",
. E1 ?) |' }2 T        user_id[SA_user_size_c+1] = "",  
) v5 ?! P5 C  l6 c$ W5 a        group_name[SA_name_size_c+1] = "",: a7 d# X5 Q! H6 L/ U8 t
        role_name[SA_name_size_c+1] = "";  
0 c/ p$ L# E5 I7 V
. v9 E' x' a3 Q' J8 i
% k& L1 A! m& [% l/ F. k
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));) w- S  }. `% C% O( h
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
+ L/ w! [. D8 t2 w& [0 \4 d- h   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
7 O0 W/ P' R; i% C' H  s$ I7 C( t' {    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));. @$ X5 u& K4 |3 E4 K
! s/ {! s8 V& @
7 d  V4 s. b5 V8 _
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
- J- x/ `$ E' ^3 X! ]6 W7 e8 G    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));! z1 r0 J& a" ^9 v% _1 f9 y
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
& E3 @7 J4 L% n% V$ X: |    IFERR_REPORT(SA_ask_role_name(current_role, role_name));" y, B) q! Z! @. H( C

$ T$ D, O6 X- E% W& S# X
& R% Y2 r. S: ?; W. @
    ECHO("\n        Person: %s\n", person_name);
' v% X/ N8 w' P1 W) Z  O9 |    ECHO("       User ID: %s\n", user_id);7 c- }2 f0 u9 |0 d
    ECHO("         Group: %s\n", group_name);
: R2 ]6 q* ]  D- V9 N0 a6 h    ECHO("          Role: %s\n", role_name);) {3 w/ `8 `. t5 G
}% @: ^5 U$ X) k' ~( Q6 G
7 Z$ C3 c# L% ~  H7 ?3 d+ [
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了