436 lines
12 KiB
C++
436 lines
12 KiB
C++
/**
|
||
@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号
|
||
};
|
||
|