436 lines
12 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
@file PermMngDefine.h
@brief 权限管理
@author 周正龙
*/
#pragma once
#include <string>
/*
//实时库表定义
//=================================================================================
#define RT_HMI_TYPE_INFO "hmi_type_info"
#define RT_RM_DEPT_DEF "rm_dept_def"
#define RT_RM_NORM_FUNC_DEF "rm_norm_func_def"
#define RT_RM_ROLE_DB_INFO "rm_role_db_info"
#define RT_RM_ROLE_DEF "rm_role_def"
#define RT_RM_ROLE_HMI_INFO "rm_role_hmi_info"
#define RT_RM_ROLE_SPEF_REG "rm_role_spef_reg"
#define RT_RM_SECURITY_DEF "rm_security_def"
#define RT_RM_SPCL_FUNC_DEF "rm_spcl_func_def"
#define RT_RM_USERG_DB_INFO "rm_userg_db_info"
#define RT_RM_USERG_DEF "rm_userg_def"
#define RT_RM_USERG_HMI_INFO "rm_userg_hmi_info"
#define RT_RM_USERG_RSP_INFO "rm_userg_rsp_info"
#define RT_RM_USER_DEF "rm_userg_def"
*/
//权限定义
//=================================================================================
#define NODE_BASE 160000000
#define LOCATION_BASE 502000000
#define MAX_DELTA_TIME 5 //判断操作系统启动时间允许误差秒数阈值
#define TIMEOUT_REMIND_SEC 300 //提醒超时提前秒数
#define PERM_HMI_TYPE 1 //<权限类型:画面
#define PERM_REPORT_TYPE 2 //<权限类型:报表
#define PERM_NOM_FUNC_ID 3 //<权限类型普通功能ID
#define PERM_NOM_FUNC_DEF 4 //<权限类型:普通功能宏定义
#define PERM_SPE_FUNC_ID 5 //<权限类型特殊功能ID
#define PERM_SPE_FUNC_DEF 6 //<权限类型:特殊功能宏定义
#define PERM_DB_TABLE 7 //<权限类型:数据库表
#define PERM_DEPT 8 //<权限类型:部门
#define PERM_NORMAL 0 //<正常返回
#define PERM_FORBIT 1 //<用户不具有指定权限
#define PERM_PERMIT 2 //<用户具有指定权限
#define PERM_ERROR -1 //<权限接口错误
#define PERM_MALLOC_FAIL -10000 //<程序分配内存出错
#define PERM_NO_USER_LOGIN -1000 //<无用户登录信息
#define PERM_NO_NAME -1006 //<输入名称不存在
#define PERM_REDUP_NAME -1007 //<输入名称不唯一
#define PERM_NODE_DENY -1010 //<不允许在该节点登录
#define PERM_PASSWORD_ERROR -1011 //<用户口令错误
#define PERM_USER_EXPIRED -1012 //<用户已失效
#define PERM_USER_LOCKED -1013 //<用户已锁定
#define PERM_USERG_ERROR -1014 //<用户不属于所选用户组
//列个数
#define PERM_NUM_1 4
#define PERM_NUM_2 8
#define PERM_NUM_3 16
#include "DataType.h"
#define USER_
struct SUserInfoMem
{
int user_id = 0; //用户ID
int userg_id = 0; //用户组ID
//int64 os_uptime = 0; //操作系统启动时间,秒数
int64 login_time = 0; //登录时间,秒数
int login_sec = 0; //登录时长,秒数
char instance_name[40] = {0}; //登录实例名
};
struct SUsergDbTwoKey
{
int perm_user_group = 0;
char perm_table_name[32] = {0};
};
struct SRoleDbTwoKey
{
int perm_role = 0;
char perm_table_name[32] = {0};
};
struct SRoleHmiInfoTwoKey //角色人机界面关键字
{
int perm_role = 0;
int perm_type = {0};
};
struct SUsergHmiInfoThreeKey //用户组人机界面关键字
{
int perm_user_group = 0;
int perm_type = 0;
int perm_attribute = 0;
};
struct SRspInfo //特殊功能责任区、车站信息
{
char perm_region[100] = {0};
char perm_location[200] = {0};
};
struct SRoleDbInfo //角色数据库表信息
{
int perm_role = 0;
char perm_table_name[32] = {0};
int perm_attribute = 0;
};
struct SUsergDbInfo //用户组数据库表信息
{
int perm_user_group = 0;
char perm_table_name[32] = {0};
int perm_attribute = 0;
};
struct SUsergRspInfo //用户组特殊功能责任区信息和车站信息
{
int perm_user_group = 0;
int perm_role = 0;
int perm_spefunc = 0;
int perm_region1 = 0;
int perm_region2 = 0;
int perm_region3 = 0;
int perm_region4 = 0;
int perm_location1 = 0;
int perm_location2 = 0;
int perm_location3 = 0;
int perm_location4 = 0;
int perm_location5 = 0;
int perm_location6 = 0;
int perm_location7 = 0;
int perm_location8 = 0;
};
struct SUsergRspInfoThreeKey //用户组特殊功能关键字
{
int perm_user_group = 0;
int perm_role = 0;
int perm_spefunc = 0;
};
struct SNomFuncDef
{
int func_id = 0;
char func_name[64] = {0};
char func_define[32] = {0}; //普通功能宏定义
char func_desc[100] = {0}; //普通功能宏定义
};
struct SSpecFuncDef
{
int perm_id = 0;
char perm_name[64] = {0};
char perm_define[32] = {0}; //普通功能宏定义
};
struct SReportTypeInfo
{
int report_id = 0;
char report_name[64] = {0};
char report_define[32] = {0}; //普通功能宏定义
};
struct SHmiTypeInfo
{
int hmi_id = 0;
char hmi_name[64] = {0};
char hmi_define[32] = {0}; //普通功能宏定义
};
struct SRoleNomFuncs //角色中的普通功能信息
{
int perm_nom_func1 = 0;
int perm_nom_func2 = 0;
int perm_nom_func3 = 0;
int perm_nom_func4 = 0;
int perm_nom_func5 = 0;
int perm_nom_func6 = 0;
int perm_nom_func7 = 0;
int perm_nom_func8 = 0;
};
struct stru_role_spefuncs //角色中的特殊功能信息
{
int perm_spe_func1 = 0;
int perm_spe_func2 = 0;
int perm_spe_func3 = 0;
int perm_spe_func4 = 0;
int perm_spe_func5 = 0;
int perm_spe_func6 = 0;
int perm_spe_func7 = 0;
int perm_spe_func8 = 0;
};
struct SUsergInfoRoles //用户组中的角色信息
{
int perm_role1 = 0;
int perm_role2 = 0;
int perm_role3 = 0;
int perm_role4 = 0;
int perm_role5 = 0;
int perm_role6 = 0;
int perm_role7 = 0;
int perm_role8 = 0;
};
struct SRoleHmiInfo //用户组人机界面信息表中的权限信息
{
int perm_role = 0;
int perm_type = 0;
int perm_info1 = 0;
int perm_info2 = 0;
int perm_info3 = 0;
int perm_info4 = 0;
int perm_info5 = 0;
int perm_info6 = 0;
int perm_info7 = 0;
int perm_info8 = 0;
int perm_info9 = 0;
int perm_info10 = 0;
int perm_info11 = 0;
int perm_info12 = 0;
int perm_info13 = 0;
int perm_info14 = 0;
int perm_info15 = 0;
int perm_info16 = 0;
};
struct SUsergHmiInfo //用户组人机界面信息表中的权限信息
{
int perm_user_group = 0;
int perm_type = 0;
int perm_info1 = 0;
int perm_info2 = 0;
int perm_info3 = 0;
int perm_info4 = 0;
int perm_info5 = 0;
int perm_info6 = 0;
int perm_info7 = 0;
int perm_info8 = 0;
int perm_info9 = 0;
int perm_info10 = 0;
int perm_info11 = 0;
int perm_info12 = 0;
int perm_info13 = 0;
int perm_info14 = 0;
int perm_info15 = 0;
int perm_info16 = 0;
int perm_attribute = 0;
};
struct SUsergInfoLocationsPics //用户组中的节点信息和车站信息
{
int perm_level = 0;
int perm_location1 = 0;
int perm_location2 = 0;
int perm_location3 = 0;
int perm_location4 = 0;
int perm_location5 = 0;
int perm_location6 = 0;
int perm_location7 = 0;
int perm_location8 = 0;
char perm_pic1[64] = {0};
char perm_pic2[64] = {0};
char perm_pic3[64] = {0};
char perm_pic4[64] = {0};
char perm_pic5[64] = {0};
char perm_pic6[64] = {0};
};
struct SUsergInfo ////用户组信息
{
char perm_name[64] = {0};
int perm_level = 0;
};
struct SUserInfo ////用户信息
{
int perm_id = 0;
char perm_name[64] = {0};
char perm_password[64] = {0};
int perm_dept1 = 0;
int perm_dept2 = 0;
int perm_dept3 = 0;
int perm_dept4 = 0;
};
/*
struct SUserInfoUsergs ////用户信息
{
int perm_id = 0;
int perm_user_group1 = 0;
int perm_user_group2 = 0;
int perm_user_group3 = 0;
int perm_user_group4 = 0;
int perm_user_group5 = 0;
int perm_user_group6 = 0;
int perm_user_group7 = 0;
int perm_user_group8 = 0;
int perm_user_group9 = 0;
int perm_user_group10 = 0;
int perm_user_group11 = 0;
int perm_user_group12 = 0;
int perm_user_group13 = 0;
int perm_user_group14 = 0;
int perm_user_group15 = 0;
int perm_user_group16 = 0;
};*/
struct SUserInfoDepts ////用户组中的部门信息
{
int perm_dept1 = 0;
int perm_dept2 = 0;
int perm_dept3 = 0;
int perm_dept4 = 0;
};
struct SUserDef ////用户信息
{
int perm_id = 0;
char perm_name[64] = {0};
char perm_alias[64] = {0};
char perm_password[64] = {0};
int64 perm_create_date = 0;
int64 perm_expire_date = 0;
char perm_desc[128] = {0};
int perm_if_lock = 0;
int64 perm_lock_time = 0;
int perm_user_group1 = 0;
int perm_user_group2 = 0;
int perm_user_group3 = 0;
int perm_user_group4 = 0;
int perm_user_group5 = 0;
int perm_user_group6 = 0;
int perm_user_group7 = 0;
int perm_user_group8 = 0;
int perm_user_group9 = 0;
int perm_user_group10 = 0;
int perm_user_group11 = 0;
int perm_user_group12 = 0;
int perm_user_group13 = 0;
int perm_user_group14 = 0;
int perm_user_group15 = 0;
int perm_user_group16 = 0;
int perm_group_leader1 = 0;
int perm_group_leader2 = 0;
int perm_group_leader3 = 0;
int perm_group_leader4 = 0;
int perm_group_leader5 = 0;
int perm_group_leader6 = 0;
int perm_group_leader7 = 0;
int perm_group_leader8 = 0;
int perm_group_leader9 = 0;
int perm_group_leader10 = 0;
int perm_group_leader11 = 0;
int perm_group_leader12 = 0;
int perm_group_leader13 = 0;
int perm_group_leader14 = 0;
int perm_group_leader15 = 0;
int perm_group_leader16 = 0;
int perm_dept1 = 0;
int perm_dept2 = 0;
int perm_dept3 = 0;
int perm_dept4 = 0;
char moblie_phone[32] = {0};
char email[64] = {0};
char address[128] = {0};
};
struct SUsergDef ////用户组信息
{
int perm_id = 0;
char perm_name[64] = {0};
int perm_level = 0;
int perm_role1 = 0;
int perm_role2 = 0;
int perm_role3 = 0;
int perm_role4 = 0;
int perm_role5 = 0;
int perm_role6 = 0;
int perm_role7 = 0;
int perm_role8 = 0;
int perm_location1 = 0;
int perm_location2 = 0;
int perm_location3 = 0;
int perm_location4 = 0;
int perm_location5 = 0;
int perm_location6 = 0;
int perm_location7 = 0;
int perm_location8 = 0;
char perm_desc[100] = {0};
char perm_pic1[64] = {0};
char perm_pic2[64] = {0};
char perm_pic3[64] = {0};
char perm_pic4[64] = {0};
char perm_pic5[64] = {0};
char perm_pic6[64] = {0};
};
struct WhereStruct_perm_name
{
char perm_name[64] = {0};
};
struct WhereStruct_user_name
{
char perm_name[64] = {0};
};
struct SUsergIdName //用户组ID、用户组名称
{
int userg_id = 0;
std::string userg_name;
};
struct SSpeFuncDef
{
std::string func_define; //特殊功能宏定义
int region_id = 0; //责任区ID号
int location_id = 0; //车站ID号
};