2023-04-13 11:51:03 +08:00
|
|
|
using System;
|
|
|
|
|
|
|
|
namespace MECF.Framework.Common.Account.Extends
|
|
|
|
{
|
2023-09-04 11:51:05 +08:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 角色对象。Sic系统中对于各个操作权限以“角色”为单位进行设置。
|
|
|
|
/// </summary>
|
2023-04-13 11:51:03 +08:00
|
|
|
[Serializable]
|
|
|
|
public class Role
|
|
|
|
{
|
2023-08-28 11:30:57 +08:00
|
|
|
#region Variables
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
private string _roleId;
|
|
|
|
private string _roleName;
|
|
|
|
private bool _autoLogout;
|
|
|
|
private int _logoutTime;
|
2023-09-04 11:51:05 +08:00
|
|
|
private string _permissionContent;
|
2023-08-28 11:30:57 +08:00
|
|
|
private string _description;
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
#endregion
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
#region Constructors
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 构造角色的对象实例。
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="id">角色ID</param>
|
|
|
|
/// <param name="name">角色名称</param>
|
|
|
|
/// <param name="isAutoLogout">是否启用超时自动注销功能</param>
|
|
|
|
/// <param name="autoLogoutTime">自动注销的超时时间,单位秒</param>
|
|
|
|
/// <param name="permission">角色权限</param>
|
2023-09-04 16:28:14 +08:00
|
|
|
/// <param name="isBuildIn">当前账户是否为系统保留账户。</param>
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <param name="description">角色描述</param>
|
2023-09-04 16:28:14 +08:00
|
|
|
public Role(string id, string name, bool isAutoLogout, int autoLogoutTime, string permission, bool isBuildIn = false, string description = "")
|
2023-08-28 11:30:57 +08:00
|
|
|
{
|
|
|
|
RoleId = id;
|
|
|
|
_roleName = name;
|
|
|
|
_autoLogout = isAutoLogout;
|
|
|
|
_logoutTime = autoLogoutTime;
|
|
|
|
_description = description;
|
2023-09-04 11:51:05 +08:00
|
|
|
_permissionContent = permission;
|
2023-08-28 11:30:57 +08:00
|
|
|
IsSuper = false;
|
2023-09-04 16:28:14 +08:00
|
|
|
IsBuildIn = isBuildIn;
|
2023-08-28 11:30:57 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
#region Properties
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 设置或返回角色ID。
|
|
|
|
/// </summary>
|
|
|
|
public string RoleId
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
2023-08-28 11:30:57 +08:00
|
|
|
get => _roleId;
|
|
|
|
set => _roleId = value;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 设置或返回角色名称。
|
|
|
|
/// </summary>
|
2023-04-13 11:51:03 +08:00
|
|
|
public string RoleName
|
|
|
|
{
|
2023-08-28 11:30:57 +08:00
|
|
|
get => _roleName;
|
|
|
|
set => _roleName = value;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 设置或返回是否启用超时自动注销功能。
|
|
|
|
/// </summary>
|
2023-04-13 11:51:03 +08:00
|
|
|
public bool IsAutoLogout
|
|
|
|
{
|
2023-08-28 11:30:57 +08:00
|
|
|
get => _autoLogout;
|
|
|
|
set => _autoLogout = value;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 设置或返回自动注销的超时时间,单位秒。
|
|
|
|
/// </summary>
|
2023-04-13 11:51:03 +08:00
|
|
|
public int LogoutTime
|
|
|
|
{
|
2023-08-28 11:30:57 +08:00
|
|
|
get => _logoutTime;
|
|
|
|
set => _logoutTime = value;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
2023-09-04 11:51:05 +08:00
|
|
|
/// 设置或返回描述当前角色权限的字串。
|
2023-08-28 11:30:57 +08:00
|
|
|
/// </summary>
|
2023-09-04 11:51:05 +08:00
|
|
|
public string PermissionContent
|
2023-04-13 11:51:03 +08:00
|
|
|
{
|
2023-09-04 11:51:05 +08:00
|
|
|
get => _permissionContent;
|
|
|
|
set => _permissionContent = value;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 设置或返回当前角色描述。
|
|
|
|
/// </summary>
|
2023-04-13 11:51:03 +08:00
|
|
|
public string Description
|
|
|
|
{
|
2023-08-28 11:30:57 +08:00
|
|
|
get => _description;
|
|
|
|
set => _description = value;
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
/// <summary>
|
|
|
|
/// 设置或返回当前角色是否为超级用户。
|
|
|
|
/// </summary>
|
2023-04-13 11:51:03 +08:00
|
|
|
public bool IsSuper { get; set; }
|
2023-09-04 16:28:14 +08:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 返回当前账户是否为系统保留账户。
|
|
|
|
/// </summary>
|
|
|
|
public bool IsBuildIn { get; private set; }
|
2023-04-13 11:51:03 +08:00
|
|
|
|
2023-08-28 11:30:57 +08:00
|
|
|
#endregion
|
|
|
|
|
2023-04-13 11:51:03 +08:00
|
|
|
}
|
|
|
|
}
|