C#权限数据 全部数据、本部门数据、个人数据 封装
时间: 2023-09-09 21:14:41 浏览: 55
以下是一个简单的 C# 权限数据类的封装示例:
```csharp
public class PermissionData
{
private bool hasAllData; // 是否具有全部数据的访问权限
private bool hasDeptData; // 是否具有本部门数据的访问权限
private bool hasPersonalData; // 是否具有个人数据的访问权限
// 构造函数
public PermissionData(bool allData, bool deptData, bool personalData)
{
hasAllData = allData;
hasDeptData = deptData;
hasPersonalData = personalData;
}
// 获取或设置是否具有全部数据的访问权限
public bool HasAllData
{
get { return hasAllData; }
set { hasAllData = value; }
}
// 获取或设置是否具有本部门数据的访问权限
public bool HasDeptData
{
get { return hasDeptData; }
set { hasDeptData = value; }
}
// 获取或设置是否具有个人数据的访问权限
public bool HasPersonalData
{
get { return hasPersonalData; }
set { hasPersonalData = value; }
}
// 检查用户是否具有访问某种数据的权限
public bool CheckPermission(DataType dataType)
{
switch (dataType)
{
case DataType.AllData:
return hasAllData;
case DataType.DeptData:
return hasDeptData;
case DataType.PersonalData:
return hasPersonalData;
default:
return false;
}
}
// 修改用户的权限信息
public void SetPermission(DataType dataType, bool value)
{
switch (dataType)
{
case DataType.AllData:
hasAllData = value;
break;
case DataType.DeptData:
hasDeptData = value;
break;
case DataType.PersonalData:
hasPersonalData = value;
break;
}
}
}
// 定义数据类型的枚举类型
public enum DataType
{
AllData,
DeptData,
PersonalData
}
```
注意,在实际应用中,可能还需要进行更加严格的权限控制,比如检查当前用户的部门信息、角色信息等。另外,还需要根据具体的业务需求来设置权限的默认值、最小权限等。