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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息" _* ]- A. I8 Y$ y! g- j$ b5 r/ W
6 s* i. g0 |* ~* y

2 i! S: S0 _" F) U5 g( MTeamcenter c++ 方式:
1 G1 R$ l$ z( L: u. k% {
  U0 Z: _4 T/ J

1 J+ a% @& ]# Y0 n5 J. c1 C" A#include <iostream>
8 c: M* z1 ]* j) R# G6 z5 W9 y" b#include <sa/group.h>
: a( n$ n9 a3 w, k" {#include <sa/user.h>. t7 d( U8 [( i0 b2 {) p+ A- _
#include <TC/LoggedInUser.hxx>
7 G- S: ~5 ^, A3 G3 j& u* p( S) ]) w- s: E
% s! Y* S( w; T! s& D
using namespace Teamcenter;
0 U& v+ D* ?% {! kusing namespace Core;+ T3 V; M+ E+ T; j) U; c& j
using namespace std;) k1 D/ d) p; |% i, i- I+ v
5 B" ~- c+ i8 n: o  X, h
/ S2 d. M+ o# I+ r2 S+ N0 ^8 b' J
static void reportCurrentLoginInfomation()% }* X0 W7 k' B6 h& F3 Q0 r
{
. I( M) W* C: j  i% }    int ifail = ITK_ok;
4 @2 S  s+ X7 H) X4 D1 O, |% d6 d: `    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
  C% Y  \: V0 n; w  k: ^; u6 M! x# U    ' V, z5 g+ y1 Y' T7 f
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();3 \) `9 U# b# V
    cout << "    currentUserTag: " << currentUserTag << endl;
/ N0 m  Q3 \2 o( i3 e    5 e& Y$ T% _! ^; Z3 R& b8 s
    char *personName = NULL;& E# ^6 V- d4 G- Q: o1 [( _
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
, _- D& F: e8 T# k* F    cout << "    personName: " << personName << endl;
: S+ D) ~3 O9 \: M    if(personName) MEM_free(personName);) `" y- |# t4 [  ~
    . B0 e/ \" x; F* m. ^+ }
    const char* userID = loggedInUser->getCurrentUserID();% x& s( T( r, V, u* G5 O* L( ^4 s
    cout << "    userID: " << userID << endl;
; p( {, o8 |  [$ W/ {, A7 D' K
0 L8 F; r" Y9 F9 c: x4 W

* J* E5 x) W6 i+ `    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
. O+ Z% W' Z7 ?4 U' I" b    % I" K" o# E; S2 P, Z# Q
    char *groupName = NULL;% x: I: Q6 W: {$ z! a- X3 L: e9 u. A
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
: F& e; k" c6 b4 t- ]! q1 a    cout << "    groupName: " << groupName << endl;
9 k( a5 d0 Z" b+ y' N/ N    if(groupName) MEM_free(groupName);
8 B/ l1 S( c) B& {; o6 g% b  T9 |7 ~' d
0 ~* Y+ y2 }& p( W& @
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();, ^9 J( t' v2 l9 u( f0 r
    char *roleName = NULL;
4 H6 ]4 `+ [, k: a% |- h7 i1 |    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
8 g% p% `  h' U    cout << "    roleName: " << roleName << endl;5 F8 @/ e/ ^1 s# u8 `6 ?. G* R
    if(roleName) MEM_free(roleName);
0 }2 K3 t* L" s  H4 ~* H! L3 s    $ l( c" ^/ s9 j/ t$ X
    logical isDba = loggedInUser->isUserSystemAdministrator();
; S3 e6 q1 c. n0 _# s/ z& K    if(isDba == TRUE) cout << "    User is dba member "<< endl;; H) J, J/ V) k7 o
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
% e' R+ d! o; m}( J2 x8 N' Q; H, }) F! N

* |" U, J1 Z; h1 [9 a
3 O+ A4 S# Y$ G7 j

. B3 @* ?. s" Q( i! k' m" U' H* y  ]+ D% W4 {
: ^/ l. }4 C; w- |6 y/ j0 E5 G
Teamcenter ITK 方式:
% B9 g: {2 S4 h' ?8 z; L: `
: I8 [& L" V# W+ H  `; ]: U9 \
* E3 w% v" _6 h9 M6 p0 B5 j
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
3 H0 s( b0 A; Tstatic void report_current_login_infomation()
: X. P' b; Z6 t+ @* x, R6 e{
  X' ^+ t8 g" J9 j: h  Y& d' h% b; B    tag_t
( K+ G! o! @+ ~/ e# n3 y$ A        current_member = NULLTAG,
0 p) y, k/ Y8 i6 O- E8 B        current_user = NULLTAG, 3 R; Q5 O6 o0 c8 P% `2 X/ o
        current_group = NULLTAG,  
( T; e' H! g' T% B% Q- G  d! d1 Z        current_role = NULLTAG;
2 y! N2 g. n' O7 ~3 d* t+ B) _    char * V1 X; F! N% b0 i
        person_name[SA_person_name_size_c+1] = "",
. ]* Y4 ?- m4 ~& m        user_id[SA_user_size_c+1] = "",  
: V3 v6 Y) {+ A) g% f1 S1 K, n        group_name[SA_name_size_c+1] = "",
& V8 ]/ s' v: k/ s5 t' f        role_name[SA_name_size_c+1] = "";  * X: C* ]! |8 Y$ s9 I
; W, m5 i' Q' l) M7 K) t6 i
: o8 Y/ R8 X4 o
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));3 l: Z. `1 Z8 n  ?+ j
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
. j7 N& D( X% d; t& M& @6 [, j   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));4 w( h! l, L+ d' V% L; k, `6 N
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));0 _# u0 H, ?# f; }, Y; B3 o

6 ^4 T! f7 {, S: g

! H  ], ^6 B" r) o% I& ^    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));6 u% k" X. V9 u4 G6 l2 C
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));0 k/ @4 A# }6 U  i7 B5 D! H9 f# p" v
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
. k6 }8 G& v$ k* q% F    IFERR_REPORT(SA_ask_role_name(current_role, role_name));2 X0 M9 T5 j, G6 U

' w: ^& L! K0 ]2 q+ X

7 T  q! ^4 x+ U( d8 h8 Y  X0 E    ECHO("\n        Person: %s\n", person_name);
7 k" N$ P- p7 e/ k5 ?    ECHO("       User ID: %s\n", user_id);6 p! R3 X, S# }
    ECHO("         Group: %s\n", group_name);& f; X* m) j1 d5 ~: |1 P+ W$ k- [
    ECHO("          Role: %s\n", role_name);8 U3 S  p: b( n2 f% \  y
}5 ]. `+ }; n$ R+ b' [

) w' Z: b0 I6 K6 e, w0 t1 }
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了