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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息8 s5 m; Y: C/ F, z8 o
) I0 q, s% n) H' S7 T; ^
" A3 \3 T7 K2 s* Q; Y" h$ o
Teamcenter c++ 方式:
3 U8 O/ R% k/ b7 R' Z+ G' ~0 l7 `$ j' w3 w% G5 W* E- Q% n% z. Y

" Z. O" J2 l; D+ Q#include <iostream>5 y( O$ i  ?# }; u! @4 C- n
#include <sa/group.h>4 d" @+ s! ^  h; R/ }
#include <sa/user.h>8 p( L( ^4 Y) n! e4 k4 P
#include <TC/LoggedInUser.hxx>5 B  `( \/ o  S4 q  j' t3 S2 c

8 y' _0 t, L: K; [
3 G; g: N* F7 A6 {5 I
using namespace Teamcenter;
8 B% U/ o$ c2 Iusing namespace Core;; N) }6 ]; Q9 N
using namespace std;
! H$ B% {( N+ N% {; m
" U; S# n0 s. T  ]3 N. H4 L# M+ {
, Q5 i: T# h$ j5 }% \
static void reportCurrentLoginInfomation()
  i' t% b8 W9 a- Q{8 f1 q4 S& n, f+ T) D6 \
    int ifail = ITK_ok;. e* |. ?! L: B  W
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();9 l" `8 u, W! u, W- X
   
5 v( H  n9 R+ W) E    tag_t currentUserTag = loggedInUser->getCurrentUserTag();* `2 u) l7 C1 Q. Z
    cout << "    currentUserTag: " << currentUserTag << endl;9 ]2 b. c. M3 u& s7 j
   
; `8 L0 c0 p0 f5 k+ M7 `9 ^7 C, i    char *personName = NULL;
! C: U3 r& B. u, x    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));( W  g* m; w1 c9 U4 v. a* w
    cout << "    personName: " << personName << endl;
3 ?/ e; p0 E" j# ^3 Q, Z+ @- B- r    if(personName) MEM_free(personName);. q6 |& t$ f8 K$ p# `0 B" ?7 p( G
    8 I( \, |/ \, H$ ]1 i1 e
    const char* userID = loggedInUser->getCurrentUserID();1 I7 F4 ]- ?! h  V0 Q# r$ j5 J) Y
    cout << "    userID: " << userID << endl;* E1 H/ F$ R& n8 h
3 D" x5 z/ K6 [: F& U2 }0 X

8 k- T. d* K# Y7 H# a7 D/ k+ K0 R2 `    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();; f% w8 x' |) Y- w
    + f" t: L/ E  d1 b3 m  o" I% t
    char *groupName = NULL;
: x( f! O9 n  O% W    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));0 }% n6 O2 T& [( N0 o, v
    cout << "    groupName: " << groupName << endl;
; |6 P8 \/ `. D  b2 N$ ^    if(groupName) MEM_free(groupName);
0 g* [8 f8 p* ^% I5 }! I, ?7 Y% H7 t$ W$ d6 Z
8 V. k# i) n6 L: G
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();1 L2 V2 l4 j5 r
    char *roleName = NULL;
( H7 f: B1 b# x8 X) d( r" J) Q    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
9 V  ?& L. s% B3 P    cout << "    roleName: " << roleName << endl;
+ Z6 z0 V- C* t! c9 F    if(roleName) MEM_free(roleName);
- @  A9 n' K$ N8 Y' w& N$ R    6 `0 }% P, ~( _  q5 \
    logical isDba = loggedInUser->isUserSystemAdministrator();
: [3 P9 D4 F9 E9 }. ^" Y6 B" B    if(isDba == TRUE) cout << "    User is dba member "<< endl;
2 z+ s. C. ]+ W8 m0 q6 X5 u8 I  \9 j    if(isDba == FALSE) cout << "    User is not dba member "<< endl;      
: t/ j  n. {! g}
1 F. d. R& z9 B) y) x! w+ d; U
0 {% i; z/ ^( a4 n6 d8 {2 q2 A( V
5 c6 s9 L! N" j& D- L) j
1 U' c8 q" J% {
8 T, s- s# s$ C8 o- g  X) {
: a( q# T7 t! @$ z0 i. k
Teamcenter ITK 方式:
* b; N2 ^/ b, ]& K
$ }6 e+ q: A- @

: ]" M: s; l( Z$ z/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
0 w# k/ u. z1 V9 a* Y0 c/ E3 q" ?% Estatic void report_current_login_infomation()+ A* ^/ M" s' j0 @
{
/ i7 i" K. g' p2 N7 [    tag_t
$ C' r6 B/ f) @) b6 Q% a. ]3 O8 @        current_member = NULLTAG,
7 ~& A% }( G* ]% j. g. z' F        current_user = NULLTAG, # _, a8 m  J8 M
        current_group = NULLTAG,  
# g5 V. h+ ?: @2 J. w$ D) r        current_role = NULLTAG;. N0 F7 _8 A, R: l
    char + x, i  f! d' l
        person_name[SA_person_name_size_c+1] = "",
/ }( {  Z. P5 ^, b/ g8 \        user_id[SA_user_size_c+1] = "",  0 }3 ^" e, t# v
        group_name[SA_name_size_c+1] = "",0 Y# o$ u  H: Y5 E4 M1 U6 w
        role_name[SA_name_size_c+1] = "";  
6 f, O9 a- H8 q7 |. G( K
+ B7 e! ^& l8 W3 X: }

4 g5 x% Y- T* y' T1 d. u% w  ]    IFERR_ABORT(SA_ask_current_groupmember(&current_member));
( |9 k+ X3 Z& m    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));- r  I! t5 v2 m* O/ B
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
" M5 n6 \5 F3 M4 w* e+ }    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));0 }( _, C% O1 j" \
3 U: [9 ]8 T  q( ~5 g. s% U

! {  w- c2 d1 g+ o, B    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
% y/ ^7 |+ [* t' r. b  b: }# a    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
" F8 `7 g, x5 \- _! b0 ?' m    IFERR_REPORT(SA_ask_group_name(current_group, group_name));; ^, i9 M5 l7 Z
    IFERR_REPORT(SA_ask_role_name(current_role, role_name));2 Q' I5 g3 D. \
, Z4 ]' |% C: X; z

/ }: j4 S2 s8 s) @3 N! a    ECHO("\n        Person: %s\n", person_name);
& l7 B8 D- Q6 c" N    ECHO("       User ID: %s\n", user_id);
1 I9 K* {: c& R- M5 K0 C, r& E: N    ECHO("         Group: %s\n", group_name);
& a2 {7 {2 w- T5 s+ v4 p    ECHO("          Role: %s\n", role_name);; O- }- Q: [; o' L/ _$ l# T: S) x
}9 }% ]0 q, _- Y+ I5 L
# {9 _: U' W7 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二次开发专题模块培训报名开始啦

    我知道了