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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息9 l2 I7 b% O; V) b" b
5 V7 P( t: V7 G- T

$ i$ O9 r6 z4 @+ x# q+ x5 ?7 G. t- {Teamcenter c++ 方式:
: _* p/ g: s) L  I, c; S8 {1 U- @6 [2 f) X) K( Y" o& i

$ k4 w  F$ @& s$ ~5 C+ y' }$ J6 d#include <iostream>) u% V3 K/ p6 S, w
#include <sa/group.h>
- j' T( Z$ g5 F6 P6 V2 D! `' l! O/ ?#include <sa/user.h>& K5 M% P- k" a( R( `. [
#include <TC/LoggedInUser.hxx>
3 Z0 h" S7 x( g; R& F9 Q3 }/ g! D0 ]. S6 p

5 M& T' X# N% b1 F7 ^. \using namespace Teamcenter;0 w$ o$ Z( z3 z0 S0 G
using namespace Core;) X3 g$ E( R+ `4 B* o+ Q2 S
using namespace std;
7 m8 \$ A+ `/ j7 [& E0 C: E, y# g
9 o  e  Z  I3 G% X- e

5 ^" _# [* N" k* \* Mstatic void reportCurrentLoginInfomation()+ `1 b! E4 D0 A7 f! a9 w
{- b% N  V  i/ T3 }/ }
    int ifail = ITK_ok;
' Z; E% w# Q( e$ J6 v    LoggedInUser* loggedInUser = LoggedInUser::getInstance();  o  V2 G7 e9 v* E) O
    * F+ q0 Y4 W) _
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
: h. u: m0 J0 ]    cout << "    currentUserTag: " << currentUserTag << endl;+ Z7 a  Z, w) p% B
    3 b3 e9 n' ?" ^. j
    char *personName = NULL;
, V: P; }; @9 T/ f% O# Y1 P    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
1 Q6 Y+ O0 M. ^: @6 J% X    cout << "    personName: " << personName << endl;2 C" g, J# Q  @, Z
    if(personName) MEM_free(personName);
, Y& {4 {# k- v' _( x) ?    % t3 ^; U# _" m) b- e
    const char* userID = loggedInUser->getCurrentUserID();2 t6 f$ \; x: }# L6 T
    cout << "    userID: " << userID << endl;/ }; r" U8 h9 T# ?( n; [+ G2 w
# m6 F4 N$ J: J$ b9 s1 @

, g! h. ?% q! |0 s. ~    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();. w6 @0 J5 x9 w& F! s
    ; p6 O9 n) Z6 x: l  g' m
    char *groupName = NULL;+ o+ r3 g+ {* l/ o
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));# `" v+ y  B& m+ A0 g
    cout << "    groupName: " << groupName << endl;) S4 b# H* w0 f. A8 e9 m* O
    if(groupName) MEM_free(groupName);9 F3 S8 r: g7 X# p+ s+ J8 v
8 R9 Y! s- A/ p/ K

" u1 H! F# O7 A& @) u    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();+ A4 c  w) Z7 p7 E3 T
    char *roleName = NULL;
) j6 ~7 Y. T% X) d/ o- A5 e) b! _    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));4 X6 Y8 O7 t) A3 H2 }- T2 v, v
    cout << "    roleName: " << roleName << endl;
- F2 ?( a0 a& f! l- G    if(roleName) MEM_free(roleName);5 _  U8 H: V+ U  t
    . v( z  x, a1 e4 K3 M) Y) J
    logical isDba = loggedInUser->isUserSystemAdministrator();: }2 b) u: P+ r* P* O. w5 |
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
0 A9 L: \8 N7 {" T: e; S' e, d    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
$ S6 g, ?5 C3 r- n}
5 T/ s- j7 g7 }
$ f. e( r; g* u* `1 I
6 t7 ^0 J2 x& m5 \) s+ ^" ]" y

1 f3 d& p2 V$ ]) g* R
# i* s! Y! L* H( M6 B
: L8 [( {" y/ g8 {3 n/ u4 g# V# g
Teamcenter ITK 方式:
7 ~4 u& Y! e, }# v
0 n" c, ?. k8 w8 [: r
% {$ N. J3 E+ ?" B, A8 ~: }
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
9 e* v: v% r3 K% k- E# J4 Gstatic void report_current_login_infomation()
. V  ]. P) P6 e4 H1 M, O7 I" F{
. ^# y4 l: y( p    tag_t ) n$ ^! o: k  e; @* @4 U) _4 I
        current_member = NULLTAG, , v$ b4 W! C5 s& V
        current_user = NULLTAG, $ d( B. Q/ W& M8 ~4 K2 e+ q2 Z3 U; ^
        current_group = NULLTAG,  # x+ o7 _7 v" w
        current_role = NULLTAG;
1 G8 D3 r% S- [/ M    char $ J  k5 T  {3 y) W
        person_name[SA_person_name_size_c+1] = "",
9 H  i8 j5 j8 _7 _/ t8 n9 q. t8 ^3 j        user_id[SA_user_size_c+1] = "",  / r' f$ W- I1 O# y6 R
        group_name[SA_name_size_c+1] = "",
, j) N$ ]6 S9 G! b6 M$ s+ Y3 {        role_name[SA_name_size_c+1] = "";  
% Q8 G( G7 \2 Q4 R8 k
2 B5 x+ n; k8 W' }/ F- g0 N
0 _& K- Y0 G% y2 z5 Z2 C
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));& F; t$ }1 E4 W
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
" |% d  Y1 c% N: C3 P; K7 f8 e. y   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
7 i4 A7 \* ?& l    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));3 ]  U4 y2 s# P3 m8 s$ k
- a+ l/ k) ]  v! ?1 J  S5 S
4 f9 ?/ J0 _! |/ o! B
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
+ q4 ~7 f4 n; w6 ?    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
/ q  q' ]& K4 c% |- i    IFERR_REPORT(SA_ask_group_name(current_group, group_name));4 |7 W0 o6 R. n. t( K4 K
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
. c6 X- r0 c2 c4 z- a2 a6 c4 z5 x/ p3 _- u2 A% C
5 F4 \2 K% s3 P( M
    ECHO("\n        Person: %s\n", person_name);! C' J7 |! v  t6 T% `0 g
    ECHO("       User ID: %s\n", user_id);3 F# Q0 L% D2 K" P  F/ o
    ECHO("         Group: %s\n", group_name);
7 F( ]0 p8 @1 D' G5 w2 o    ECHO("          Role: %s\n", role_name);
+ A/ o! A+ ]* p}8 V* _7 T8 ]5 Q( `5 t
( w; w2 }1 I! D1 N/ @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了