Teamcenter二次开发源码分享: 报告用户登录信息
Teamcenter二次开发源码分享: 报告用户登录信息Teamcenter c++ 方式:
#include <iostream>
#include <sa/group.h>
#include <sa/user.h>
#include <tc/LoggedInUser.hxx>
using namespace Teamcenter;
using namespace Core;
using namespace std;
static void reportCurrentLoginInfomation()
{
int ifail = ITK_ok;
LoggedInUser* loggedInUser = LoggedInUser::getInstance();
tag_t currentUserTag = loggedInUser->getCurrentUserTag();
cout << " currentUserTag: " << currentUserTag << endl;
char *personName = NULL;
IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));
cout << " personName: " << personName << endl;
if(personName) MEM_free(personName);
const char* userID = loggedInUser->getCurrentUserID();
cout << " userID: " << userID << endl;
tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
char *groupName = NULL;
IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));
cout << " groupName: " << groupName << endl;
if(groupName) MEM_free(groupName);
tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();
char *roleName = NULL;
IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
cout << " roleName: " << roleName << endl;
if(roleName) MEM_free(roleName);
logical isDba = loggedInUser->isUserSystemAdministrator();
if(isDba == TRUE) cout << " User is dba member "<< endl;
if(isDba == FALSE) cout << " User is not dba member "<< endl;
}
Teamcenter ITK 方式:
/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */
static void report_current_login_infomation()
{
tag_t
current_member = NULLTAG,
current_user = NULLTAG,
current_group = NULLTAG,
current_role = NULLTAG;
char
person_name = "",
user_id = "",
group_name = "",
role_name = "";
IFERR_ABORT(SA_ask_current_groupmember(¤t_member));
IFERR_REPORT(SA_ask_groupmember_user(current_member, ¤t_user));
IFERR_REPORT(SA_ask_groupmember_group(current_member, ¤t_group));
IFERR_REPORT(SA_ask_groupmember_role(current_member, ¤t_role));
IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
IFERR_REPORT(SA_ask_group_name(current_group, group_name));
IFERR_REPORT(SA_ask_role_name(current_role, role_name));
ECHO("\n Person: %s\n", person_name);
ECHO(" User ID: %s\n", user_id);
ECHO(" Group: %s\n", group_name);
ECHO(" Role: %s\n", role_name);
}
页:
[1]