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

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

[复制链接]

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

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

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

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息. A( W. q) T8 ]0 R: s1 K* U
9 ?( P5 w7 s) d. z, }+ J; Y+ a

0 o- r4 r* W, P: vTeamcenter c++ 方式:6 h4 B; W0 F' X4 y7 u
! D; ]+ V( l4 Y8 o: x

0 f8 ~$ ?# d7 m4 ~  m) U#include <iostream>
" n: y" r& P8 A# e8 V# F#include <sa/group.h>
$ N, n0 ~- b7 F#include <sa/user.h>! u+ I; L+ ]7 C9 d
#include <TC/LoggedInUser.hxx>3 L7 M8 a9 t7 A' o* i# F. q5 ?
4 ^6 y. `9 @  {$ L. e
2 N! ^( L6 ~# {% q' M; y$ E+ G
using namespace Teamcenter;8 C$ V% i1 I- C0 b, K  G8 A
using namespace Core;
1 n8 [0 r% f9 K. K) N$ t( iusing namespace std;* [, h6 l& y+ V' A

8 \! ~6 Z$ o$ w7 m
! a4 g- M4 i1 L2 W+ R' D+ I8 ~, T; Z
static void reportCurrentLoginInfomation(): G  R+ ]" b7 i& z' e
{
" ]% x* l+ i$ B1 X4 |    int ifail = ITK_ok;% c' o( {- W: ~" H
    LoggedInUser* loggedInUser = LoggedInUser::getInstance();2 L; {( P+ L' ]
    6 N/ ~2 F* U2 F
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
6 J2 H) c; s+ g2 Z' Z! j: k+ D    cout << "    currentUserTag: " << currentUserTag << endl;; _: X$ G& L& @5 y5 W
    ) @2 f4 \& L- L
    char *personName = NULL;' N' m" q) r. a8 j, M2 C- ^2 u
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
; T! s; t# @! D7 j: S    cout << "    personName: " << personName << endl;
7 }2 S. C% r0 z" T0 g- f  @+ V    if(personName) MEM_free(personName);
' F$ Y  x* r2 r6 F5 \4 k. N. Z    ) W+ \! ?' a8 J0 G9 \% b1 T
    const char* userID = loggedInUser->getCurrentUserID();
: I7 Y4 T$ F3 H  `' z# ?* D9 W    cout << "    userID: " << userID << endl;9 Q) L' \, a9 t: u2 f: K. y
" s/ [; I6 Q+ J# ~1 |7 K
# p) [5 Q; D- G! Z+ s1 Y
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
: {0 r& k6 N# v! Y0 U+ H9 P0 s- V: k    + j+ Q( ?( L( X6 C9 j
    char *groupName = NULL;+ b3 b% \" Z* Y7 @5 W2 u9 m' D6 F
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
/ r# ?% I4 [0 Z% F( ~4 X: r    cout << "    groupName: " << groupName << endl;
6 `# }% r$ ^, b) O3 E- F" b    if(groupName) MEM_free(groupName);3 Y" i* ], N1 J6 Q4 S3 U* J
: y2 M# z  X- p3 t/ c

# Z1 }2 P8 k2 t  p  B    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();2 S# Q6 M2 d* U0 n8 F0 D, u
    char *roleName = NULL;
) u" U) Z" c% n2 o1 ]. `    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));: ]4 k+ i+ o9 k
    cout << "    roleName: " << roleName << endl;& Q/ ^& D% C4 o' d- \- [
    if(roleName) MEM_free(roleName);
" v7 e8 z: g# n4 L4 R- ^    ; c. f3 v! s& ^5 D; N
    logical isDba = loggedInUser->isUserSystemAdministrator();2 O! {0 f! t( f% V: P' }6 e; Q
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
. _% X$ O7 ~9 u) r) D; I    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       8 E( `: v8 K" w0 O; h
}! c+ e; V8 _+ t6 P* ?7 z# A' `2 F% R

& P) w6 J- j) }' m2 k6 U2 d, z& S3 m6 G$ @5 @4 R0 z# l

* Y3 i2 G/ L9 y' {1 d
  ]/ u" G9 w+ N( O6 H& @. v0 y; S
, H  x8 m5 z% \0 q0 r5 F8 S
Teamcenter ITK 方式:
; c3 b  T! F3 k9 F& Y
8 L' O/ S, E; ?* ^

: g8 q, G  l6 R# C! H* l/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
: z4 R; i2 }$ H# P9 H; Mstatic void report_current_login_infomation()
* C! b0 \" D* t% F' f{+ N3 E5 l' O0 J
    tag_t
( x$ O4 i# m' c3 A, i0 a4 ]& s        current_member = NULLTAG,
, R2 P* f; M8 `7 _' C* o3 h        current_user = NULLTAG,
7 \" ^% J8 v5 g$ u& s8 l        current_group = NULLTAG,  ( D7 M& Y7 [( V/ A. f
        current_role = NULLTAG;: |" ^" C0 H6 V9 j/ ]2 e
    char 7 ]9 p. V+ I7 L3 l
        person_name[SA_person_name_size_c+1] = "",* @" n- s: B+ S6 l; _
        user_id[SA_user_size_c+1] = "",  
, o/ B! q1 {: ^* r& G5 T& ^0 H        group_name[SA_name_size_c+1] = ""," u" s$ U5 c9 j/ P9 g7 x
        role_name[SA_name_size_c+1] = "";  6 B5 j4 c- B. D! |' o$ m

$ h: y2 Q& L. q: s! A# _# S) l
7 Q% J* X$ i% |! f# o6 g
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));( w) U+ J3 L3 W: {4 ~
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
* G4 [' |* E$ z# x' L" c   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));6 U5 F$ k' ]; A* Y5 e* A
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));, ~" w1 v- \0 @+ f6 n
8 D: e* Z" Q, I9 u: {- t1 Y- U
- n2 ?! T4 Q( r' `' x( v/ W6 s) z8 ~
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));1 G. @- H+ V- g/ [0 i
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
# a9 r! g; r" U( w    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
- s8 d5 O1 E5 J    IFERR_REPORT(SA_ask_role_name(current_role, role_name));
0 M  w2 ?) Q  k: L
9 z( [- W5 e% U
% o, A- O1 t/ i4 m$ F* F& @
    ECHO("\n        Person: %s\n", person_name);
# o" l5 B7 x& s& P    ECHO("       User ID: %s\n", user_id);( T  T% }- Y( L6 F
    ECHO("         Group: %s\n", group_name);2 `! p- y2 b+ @% [3 o6 |
    ECHO("          Role: %s\n", role_name);& H/ l* u: q/ O; k
}8 p8 @8 G3 e( W: r! n5 ?4 e
4 ?( w, k( Y+ ]
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了