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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
  R4 O/ p$ ^+ z) |) C. @
. Y$ T7 j# f* G$ T  p$ S
1 b0 E" R! I" A& x
Teamcenter c++ 方式:
2 t+ j  z6 Z. g. y" z& B5 q0 l
; A9 Q" E6 c; Z4 ~" j' f

! _% D, ?" d  A2 [0 J8 A/ @#include <iostream>7 E% W% }5 p/ v: d: I( ~
#include <sa/group.h>
2 \  t+ H5 s/ D#include <sa/user.h>0 k0 u( k$ N+ }4 o# f3 O4 [/ d$ m7 P
#include <TC/LoggedInUser.hxx>
" d1 ]! C" ~; s' P2 O' c* C! E& R' A0 L; x  H1 y9 \( m2 N
6 y# ^/ {( |5 g2 Z  X. Q
using namespace Teamcenter;
9 g, @7 F4 c/ s0 p0 @6 d. j% \using namespace Core;
7 W- P" y8 ~: A: f# d" Fusing namespace std;
" R. ^- E9 `( u. _% r2 N5 C8 J2 A5 O) o2 N6 V, ~; O- u
, P, t- D1 n* ]% ?( ]
static void reportCurrentLoginInfomation()
- y1 u( e$ ?. k: b{
6 q0 N; H' I& p1 B  f    int ifail = ITK_ok;* B/ e% x: E# U: w7 _
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
3 r8 r2 l7 _' E5 }* u: ^   
+ u- L5 o+ H2 I9 n2 `6 N' _2 L    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
9 H% j. ]2 n. b( M. E    cout << "    currentUserTag: " << currentUserTag << endl;" G8 b8 y& j7 o
    . O: D' O  j7 d
    char *personName = NULL;& f, ^7 N4 l( M
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
3 S& {  _9 k  s" j. l" i+ x! W% ~, Q8 n    cout << "    personName: " << personName << endl;3 j( l# i. Q* @: V: _
    if(personName) MEM_free(personName);0 y) F: @6 d: W5 ]* }4 h
   
! G) {$ w$ s2 _4 X2 E7 C' j2 b    const char* userID = loggedInUser->getCurrentUserID();
" K# ^7 r: X; T/ U9 F; a    cout << "    userID: " << userID << endl;
8 H* L8 N! H6 g% L+ d
6 h, X# I! i9 x5 s5 A

! |2 V! \- d) S    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();% q7 t' R9 Q0 v& W. E2 K4 l
    3 L- Q/ U) l- d9 @2 F" y; E# J3 ^
    char *groupName = NULL;5 C6 D5 e/ x4 k& O: ]2 @
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
  r2 ]  @! S- K9 J( N, r    cout << "    groupName: " << groupName << endl;
, l2 @( v. l# D/ m+ s4 c" l  t    if(groupName) MEM_free(groupName);
+ _' ]+ [) L- t- n( `
  C8 h$ ]# S/ B$ R: |/ [9 V

" d& p: b2 P4 n+ @    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();% Z0 p1 W: P6 w: V' y0 |
    char *roleName = NULL;3 O7 I$ N8 v" y- |
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));( T1 O/ }8 s1 p, g
    cout << "    roleName: " << roleName << endl;1 c! _2 |( |" l" h+ ?
    if(roleName) MEM_free(roleName);0 u6 f# F/ ?. V
    * J6 U4 d9 w& u5 B
    logical isDba = loggedInUser->isUserSystemAdministrator();6 X/ F4 a6 g' `3 N: V
    if(isDba == TRUE) cout << "    User is dba member "<< endl;& D) X% ?; V& b8 H+ \
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
5 j# x0 Y, s6 T5 d- C}
0 I' I1 ]+ A, ]$ s! S9 c5 P+ H3 m4 L6 Q/ o/ ^0 F
1 r1 f& Z1 @3 s$ L
2 f- J" t3 S- [& p0 \
% u( a# j$ g$ @, R; Z

; P( U' A8 L. N: m# k* iTeamcenter ITK 方式:8 {, ~- I2 @9 y
  j" [4 O% U8 E/ v* v6 h( g
+ N* A1 E7 W+ ^! b
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */" P, v% `9 ^2 \, R( K4 P
static void report_current_login_infomation()7 x* m; ^* z) t  _2 F5 K
{5 c  x$ V5 W' l; l
    tag_t 3 |# ~3 N& t7 H; d
        current_member = NULLTAG,
: o# h, Q! W0 X1 Q3 \        current_user = NULLTAG, 4 g3 r& e2 x" F  q$ T/ D: f
        current_group = NULLTAG,  7 `3 u- f1 s/ T+ i! E* E
        current_role = NULLTAG;: k$ h1 _8 Y/ H3 M1 H( g
    char
/ M; ~* K5 t$ j        person_name[SA_person_name_size_c+1] = "",
' n+ @  L! p3 ]8 ?4 V        user_id[SA_user_size_c+1] = "",  / o; R. g( d* w
        group_name[SA_name_size_c+1] = ""," C/ A! C7 s$ S. v! V
        role_name[SA_name_size_c+1] = "";  
, K$ }/ \- p% V) ~! I
& i+ k- o) p0 [: s
/ M! g2 F# Y" n0 f, F: U. v
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
( f* ?* u1 s! e( N% o    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
% u1 n9 Z: u8 J% h   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
- C3 A* J" V! G9 p' `, L    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));' ~  ?& a6 e5 o$ G# j( }
' V1 T: S. y; v1 u. c2 E

, J7 [& }  d& Y2 n    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
7 @4 L& S; {$ T* c: ~8 b: w    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));0 x5 w% y5 J& h" F) s7 M
    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
2 P' v! J- H9 d* I* x    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
3 |* j) y5 b; ^6 G
- A8 t0 y9 |( G3 i/ a0 s

" ?6 I( z% Z* I. c' o0 T    ECHO("\n        Person: %s\n", person_name);
; B6 }- m1 ~) d6 T/ N1 \+ G9 W7 n    ECHO("       User ID: %s\n", user_id);' r7 K- b5 P+ {8 D2 H
    ECHO("         Group: %s\n", group_name);
1 `# \! F  T- P) w    ECHO("          Role: %s\n", role_name);
. ^6 ~, n6 K* j3 B}4 u+ W- `; H/ ^

/ E- q, q; o; p0 G- h+ _
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了