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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82172
QQ
发表于 2017-11-20 13:49:47 | 显示全部楼层 |阅读模式

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息9 u4 i1 w) V9 R8 C! r
, [8 g1 ^/ k/ ]/ z2 w1 U
1 t/ ~: o) S# O
Teamcenter c++ 方式:2 ^. e! D  ]8 h' B

& M0 B9 }0 }$ j2 L. I
* v2 Z3 M; m- G1 N; n& k, \
#include <iostream>7 h* E1 X6 e+ Z4 U* z; r& N* a" w
#include <sa/group.h>, @) t. N! _: D7 [7 t( ?3 |; v
#include <sa/user.h>* Q5 q3 u2 o) o  V
#include <TC/LoggedInUser.hxx>8 N) j! b7 R3 S5 B$ G4 p" J
* e$ B/ K7 g4 X2 L

8 k! F1 O: ^! b: U: x! R% R7 Musing namespace Teamcenter;
3 N' m3 f1 x: B( ausing namespace Core;
( ?4 N! Y$ ?0 Jusing namespace std;
& j. C$ P( J& ?4 |: G4 ?1 X( F: V' M: L. @$ @# ?) Q. }; y0 l( o
9 H' h+ t8 O& ?7 E
static void reportCurrentLoginInfomation()/ ~4 b" {  ^3 y7 ~7 X9 [1 x: K+ i! U
{
) R; S+ ~9 L, W/ |& C4 Z! H* }    int ifail = ITK_ok;
% |# X7 n" L) b9 u8 p( P" ?8 K, c. F    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
+ |: C/ l. r6 A  k, N, \* x' @   
) Y9 {" x# s! E; c/ K3 x& r* ^    tag_t currentUserTag = loggedInUser->getCurrentUserTag();6 C1 r1 n  T  z$ Z* ~
    cout << "    currentUserTag: " << currentUserTag << endl;) K3 ^' ^9 S) v$ @; P0 O
    5 \+ D6 H% [6 `) ?& U
    char *personName = NULL;
5 v/ P0 Y) h' ~7 h0 D/ a    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));1 h- M5 a7 A4 ^4 p7 u$ j
    cout << "    personName: " << personName << endl;
  ^' }/ o/ h/ U# B: k/ S- h4 [6 t    if(personName) MEM_free(personName);: N1 j) a$ L3 o" p6 Y
    - W6 y# s9 O  w! P
    const char* userID = loggedInUser->getCurrentUserID();6 q, F" K, J+ u' g: H2 O2 l. m
    cout << "    userID: " << userID << endl;
- b' y, ]. k' V  O& _/ g+ S3 P) Z: ^1 x: I9 K% D1 I7 _: c

1 i. h, y# I: z: p) t4 t( g3 n    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
6 P$ n1 f- l) t" P+ z; N) E   
! L* C) F9 r$ S9 _" P    char *groupName = NULL;
9 e$ L+ f; X& w% Y6 A# @9 H8 u    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
' K! q* A  u4 M3 @7 U% a    cout << "    groupName: " << groupName << endl;3 c2 G; T8 y0 s* ?& u% d8 ^
    if(groupName) MEM_free(groupName);
" C) R  |3 y6 r' [
/ n' h  o, E2 Z0 q/ M$ B

& ^% y4 j9 s6 n5 I    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();! L8 l: _, ^  W+ }, g
    char *roleName = NULL;
% @5 U2 t7 v  a) F$ K4 }4 }    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));7 f2 N" T2 W: s$ V4 s) q* t  G
    cout << "    roleName: " << roleName << endl;
, H* L7 w% }, a; w    if(roleName) MEM_free(roleName);$ i& Q3 _/ Y( P& r
    - F3 t2 c+ ?" Q" H- F9 f
    logical isDba = loggedInUser->isUserSystemAdministrator();: _2 k" @7 r' w3 c& S
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
4 K% u( d8 ~/ ^' c4 l! p    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       $ p2 _3 |: C" t: ~
}: x* Z- C' S- e/ `- c: p+ ~' u: t

  H; e+ P/ c! J2 ^$ i
9 D9 z; C$ e  k  ]' ]6 K

1 p- f0 o* y! n+ R( t/ X5 H' Q- t2 w3 k

4 `# P- J/ u, [- dTeamcenter ITK 方式:
8 U) {+ v! O& N8 M7 Q. c7 Z3 A1 q, f) ?1 P- h. C

7 O- ^4 `; c, J/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */  y3 E9 E+ u$ w) m0 O' w- i
static void report_current_login_infomation()7 j% B6 \+ X' q& U! S6 b" g
{5 x* H9 f' u6 v3 k8 P/ l
    tag_t
# K+ I& Y+ V0 c        current_member = NULLTAG,
" T+ `1 g! x- }/ p! P3 k3 G        current_user = NULLTAG,
0 {- l7 |) L3 f) E- O) p) k        current_group = NULLTAG,  ! }$ E' _+ q- {  N. c3 Q( k
        current_role = NULLTAG;( z0 ]" D# v& h# l5 E8 N- Q; g
    char
  ^  w" g% Q" L        person_name[SA_person_name_size_c+1] = "",
  Z" k& j6 @0 q% m- p% K% r        user_id[SA_user_size_c+1] = "",  
  g/ }1 a- e5 b$ H" e        group_name[SA_name_size_c+1] = "",3 {+ O; F% V, s! Y1 f
        role_name[SA_name_size_c+1] = "";  ( k" I2 R: l* V) y

4 q3 f9 {! x5 c

% g7 l! h/ r2 T5 B" A' e    IFERR_ABORT(SA_ask_current_groupmember(&current_member));& u* `: L9 x+ W8 }* v" S2 o
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
: e+ V  _6 ]0 H5 ~. v! `9 |" u   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
. @( h% S6 k8 U. u- V    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
. H) r/ ?$ y4 u$ j1 F4 W
, v7 Q) g3 \* t2 t/ C4 m! ?

) q0 i5 m8 s/ @8 g: D8 A0 A, v    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
; P5 R% R% \, x5 m$ f! }    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
2 ~+ n) X  _+ [" I7 Z: {; z    IFERR_REPORT(SA_ask_group_name(current_group, group_name));4 \# Y. L2 Y3 q# _) P
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
  m. }& |; w4 h+ h- I- S: y( {, w! Z* D+ P. `5 E" _7 W

/ O2 P7 p8 U5 b. l' |' }. `    ECHO("\n        Person: %s\n", person_name);
8 t: f/ N6 j" e3 n7 d    ECHO("       User ID: %s\n", user_id);
$ u) T' b& s* x6 G9 K) X4 a    ECHO("         Group: %s\n", group_name);& q! F, D6 v0 r& p, j. r
    ECHO("          Role: %s\n", role_name);
  O  K' E  y1 l: W( J}
- _. H' p5 D7 V+ ^3 y$ I( m- E5 g9 l9 n; l1 P6 Q
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了