PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息: _9 Q  n7 b& Z+ o- u' g
+ o; |' [( M$ F# n" y

0 N. P4 W, G' X; M; [, n, z* A9 X& ^Teamcenter c++ 方式:
: V$ E+ p) t" G; d  i
# I+ `: v. b  j  T

" A/ n; S$ g" C& a# O#include <iostream>: o" J' c' l" a- H
#include <sa/group.h>
4 K/ \7 ?' c+ _# L% J8 j#include <sa/user.h>
8 r2 s7 T+ q6 B) n: Q1 H#include <TC/LoggedInUser.hxx>
+ {9 M1 {& F$ E. v* V+ d3 V
. K# i  Z& y2 G5 q& `2 Q

; L# S7 C: S1 w. Q5 U5 _: Yusing namespace Teamcenter;+ G  z4 N3 _: h( }! Q' G5 c
using namespace Core;
+ Z1 [+ A- ^" _! cusing namespace std;5 e2 X) [. A; b5 `, l& l7 p9 l

8 z; K) M( N, j0 P" ]* y1 Q: S# o; s& ?
; X( }! k) |6 V* [7 t( n! B( T
static void reportCurrentLoginInfomation(): G  J* U& G" A  u. b/ }
{' C" S* L7 }0 R. K( v$ Q7 y
    int ifail = ITK_ok;! {) E$ }/ D" u' {
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
& f' N" L+ @0 k   
! c2 E+ r: Z% L9 x4 X, R5 v% d    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
% q) {, e$ a0 ?" p: _- ?    cout << "    currentUserTag: " << currentUserTag << endl;+ V' S& @+ A$ \$ C+ z4 R# Z! O
   
7 k  E% p  f/ }$ t8 ~* C+ v2 j, j    char *personName = NULL;: Z9 v$ H/ [1 ?. c2 j: X' [8 ~
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
* H. P3 R, _4 `: H5 E    cout << "    personName: " << personName << endl;
# D* n  J4 C3 A1 L+ c: b    if(personName) MEM_free(personName);6 o' I/ A& }, R
    , n- d% D7 M* Y/ U" X' B% |+ w
    const char* userID = loggedInUser->getCurrentUserID();' z& U; q% y2 K/ g2 P! e: J- z
    cout << "    userID: " << userID << endl;
' L( G; Q* l% F( Z" {
# T4 P) j! ~& t  }
) D, T; I# j" v. p2 {8 J* g8 U
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();+ f% j+ `  B2 l" f# G2 ^; M
   
4 S/ `8 @( f, i  R/ J    char *groupName = NULL;
' n# m* V: g; w, Z/ V    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
3 q* ?+ G, ?7 @. J    cout << "    groupName: " << groupName << endl;/ ~! ]* d- B( D3 ?/ {
    if(groupName) MEM_free(groupName);9 e, d3 s8 }! z+ h
  v+ p. {, o0 n" u% y

& b6 i; |) R/ S4 P    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
5 m  R( N1 d# I- H4 ?' d8 I    char *roleName = NULL;% L3 a# o3 k+ q5 D" l
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));2 v# Y8 H8 w9 O8 r; o
    cout << "    roleName: " << roleName << endl;
3 V  `- _# s0 k/ N    if(roleName) MEM_free(roleName);$ |% h' S' A6 [/ o' j6 \* W
    + V2 h6 ^) l3 @' x
    logical isDba = loggedInUser->isUserSystemAdministrator();& \3 y& z7 l2 d, W2 [7 Y
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
6 B2 ~) ?5 [" F- ^# A9 R    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
4 i4 {- X: f8 ^  v}1 {: B) K2 V1 j' t" {& x  A
# N+ K% C( \! H. R. p: g# |" c
* X' @" Y! P, }2 e+ L5 I

; }/ F1 l0 l0 M& r% D3 t1 ]; d. h6 o$ [: Q" A8 n' _/ R
1 p$ A: p# A' v, i! B
Teamcenter ITK 方式:8 h% l3 X% i9 M# K- w

! v3 P$ d: e! z  d: ?* D
4 e  r- b0 N8 K1 s
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */7 ]! q; g  e7 @
static void report_current_login_infomation()
8 Y. S8 r6 d2 X: W. v, \( {' G6 }{6 Y- h/ R$ x( E) {
    tag_t
8 m, O, }# Y9 V) W; ]        current_member = NULLTAG,   O# t7 W( A; y6 c
        current_user = NULLTAG, ! y7 G  n; j7 M
        current_group = NULLTAG,  
% f* f; J9 x- C+ a, {3 u4 q: U/ ?        current_role = NULLTAG;
3 D9 x8 A. h" h+ w8 Z2 V3 }    char
! u2 r, ]# `& m) t: B        person_name[SA_person_name_size_c+1] = "",6 F5 h& }' E5 b/ N6 f4 @" ]( x
        user_id[SA_user_size_c+1] = "",  ; e3 Z% E* \  t. a* p" J
        group_name[SA_name_size_c+1] = "",  b5 q+ d& Q0 Q' J; ]
        role_name[SA_name_size_c+1] = "";  
$ i8 W# V1 c( U7 {" ]
4 K+ N: [9 z8 [
) e) G* u, e' C2 `
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
: n+ V/ x6 T" L0 o' `) n    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));8 e! m. i  l7 l
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));( J0 V' X; _8 J* W
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));( H( \/ G  p" Z- Y4 ]
7 U( q- u7 d" \5 h, K

% {$ X" ]( [! v: f  @    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
- k! H' e! t& c$ V' S/ r( E8 t    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
7 H# D3 ~. f* z! i    IFERR_REPORT(SA_ask_group_name(current_group, group_name));$ G$ }3 j0 Q3 K% }* l, w
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
- C( u. p8 r) t7 f( U# M: ]! d3 x3 C: G& T1 N) I: y. i
" P9 c2 U3 ?1 n3 S1 }+ @
    ECHO("\n        Person: %s\n", person_name);5 X* u+ ]! }9 k/ Z
    ECHO("       User ID: %s\n", user_id);
8 i+ u; ~- t1 A! j# h- o    ECHO("         Group: %s\n", group_name);
' O4 z6 v& l  j- R% M0 e/ B    ECHO("          Role: %s\n", role_name);
; y( `, G/ o# l+ M, ~}8 a& V8 N+ m5 B
/ D4 L% P8 U# y- F" |3 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二次开发专题模块培训报名开始啦

    我知道了