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

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

[复制链接]

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

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

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息
. ^( k# B% T$ Q: k, C1 ~6 l4 q5 k" T

, M% V$ b+ R8 p5 `, F' h9 KTeamcenter c++ 方式:
/ b7 [  \+ t4 V& u5 c( U# t6 l% x7 p6 X/ r2 N
+ r8 o$ z2 Y- S' l
#include <iostream>- G( z" J: |0 h7 A1 F
#include <sa/group.h>4 y7 W. E; p+ `0 m0 z4 h; I2 J
#include <sa/user.h>$ r; g' ?2 L& T7 h- M
#include <TC/LoggedInUser.hxx>
" v' s. X( g' }. L" e9 R6 N" R, x' O4 E
0 J( a1 u: ?* Q" m
using namespace Teamcenter;* f& Z1 }4 n: G5 b+ U# `
using namespace Core;
/ E+ v, E4 C! h8 u" ^7 O- Ausing namespace std;
1 c$ ^% A: _, M1 n* w4 o# M  Z6 q! h2 B) n* O) v& m$ s
# m8 c) V( q0 a  |
static void reportCurrentLoginInfomation()
' r0 m" p+ ^, {- R{9 v$ i9 q$ ]5 P6 w+ O. b  E
    int ifail = ITK_ok;
+ c7 R, p" S6 ^6 N% B- i8 ]    LoggedInUser* loggedInUser = LoggedInUser::getInstance();( `% B, U0 |. J) G7 Z
    , d2 t: p6 f+ |& }6 {( ]5 D
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();7 o4 Z  n( C, s! Q
    cout << "    currentUserTag: " << currentUserTag << endl;
+ ~& Z& u: U& s* G! w3 ^5 C% R    % H# e" n( X1 T- H- w
    char *personName = NULL;
  u$ u6 N; Z1 o* ?    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
$ N! A8 h! ?9 Y  F- P    cout << "    personName: " << personName << endl;8 b; C' x$ a! I- Q2 W
    if(personName) MEM_free(personName);
9 R0 l6 ~& [" D" E: G   
! o! `, A1 C& U    const char* userID = loggedInUser->getCurrentUserID();
/ _2 v& O( g9 ]1 U. E8 K' p" t    cout << "    userID: " << userID << endl;& j5 L$ G2 k0 V5 t5 t$ G2 B

) r. X" ]; O, _; D5 Q
  ^" E' u) R9 n2 v9 P3 K! O( K
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
+ V6 Y, {) {1 }6 \  Z      K- I( ~2 v8 f0 X6 |* Q
    char *groupName = NULL;2 ^: F! Y0 ~7 f
    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));. ~! y6 r2 H0 U7 i
    cout << "    groupName: " << groupName << endl;
3 D! O; R) q2 q: I    if(groupName) MEM_free(groupName);( ?+ @: a) i. s% |7 ^

, k0 H' Y3 d6 a+ U8 |. y1 B
$ P+ k; o% [; m6 R% T
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
& g5 l" P" U: X4 m, F" b8 _: u    char *roleName = NULL;% k4 D2 Z7 H" \( ]" Z9 C
    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
3 c- d- R% J9 x& @$ H: n6 ?    cout << "    roleName: " << roleName << endl;
- }; f1 G9 [( m4 h" R( Z    if(roleName) MEM_free(roleName);/ i* g6 |1 H/ s! N- x9 K
   
. g/ }' W4 D) c: b0 y* z    logical isDba = loggedInUser->isUserSystemAdministrator();/ S3 O! ^' \1 c+ n" m
    if(isDba == TRUE) cout << "    User is dba member "<< endl;( c+ H' r  S) o, b4 C: T% Y
    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       2 d. h- V% d. V9 {) L# H* J
}
! L; {% W- q' }2 o1 W4 u! B
" m3 i3 w9 z1 b7 @! h/ \* E
- c$ `* s) E6 [# }

9 E* Q/ M% W( o! b9 C+ b3 b
1 q; o) n3 y; Q
" }/ [- M+ S& S& p  m
Teamcenter ITK 方式:
+ i* V2 B  I3 s+ T& R7 ^# g# V1 f- W" Q7 G7 v; r
( [+ a3 a7 \4 N! y+ j0 O
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */" b( w, ?' F4 T" g* R% x3 I
static void report_current_login_infomation()' z' e- t1 X3 `/ _( u6 T4 u, A
{
; @. h+ f2 n. P    tag_t
0 q& D/ M: e, U) B3 s        current_member = NULLTAG, ! H1 u6 f& ]( s1 U% G
        current_user = NULLTAG,
# m1 D# A& L3 U  }        current_group = NULLTAG,  8 G  _7 s$ S9 a  a0 Q* H' x  w
        current_role = NULLTAG;
" s3 r' n" E$ f( z4 U/ }    char . g  R" U, L) h9 L: [
        person_name[SA_person_name_size_c+1] = "",  s1 M; W, {1 Y, q7 S$ e( g
        user_id[SA_user_size_c+1] = "",  5 u5 S" w- e$ _9 H
        group_name[SA_name_size_c+1] = "",
8 X9 W$ `: ]( i& j6 p% w* e        role_name[SA_name_size_c+1] = "";  # ]1 h6 m, p9 E$ W* O1 k8 S

- F6 P( j+ ]: L5 I
5 {" Q# w0 h0 h
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));! v5 `$ t3 g& f+ o2 f2 _
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));
$ m! s, x" l& L7 V, Z   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));. g, r9 c  B: [
    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
% Z+ }4 V% t& ]  \# \6 n! _9 y
5 g# S5 t, M, k" }- `( \9 v% v9 F
9 O, g! U2 U# L  f  {8 }/ s5 U
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));6 x5 C2 L5 }5 ^
    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
3 j9 A/ V0 P* ~8 c" }% Q" D8 e    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
6 V) W4 y6 l% Z( B8 V* M) y2 S    IFERR_REPORT(SA_ask_role_name(current_role, role_name));& `/ c3 K$ y. i* }, V6 M
: ]* C$ b. r5 l
. I8 s; @* V: u* S% y0 }
    ECHO("\n        Person: %s\n", person_name);5 S* R; G, n) e$ b
    ECHO("       User ID: %s\n", user_id);
9 H$ D5 D' e) G: ^: R1 c    ECHO("         Group: %s\n", group_name);) Q$ S4 h6 D" [- _
    ECHO("          Role: %s\n", role_name);
' s1 _$ f7 U# D6 u1 ^: w8 C}( W* q2 M/ c9 Z/ L+ L
' e! X1 o* H4 i; t# {5 _* r/ X! Z5 e
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了