我正在尝试设置我的控制器的授权可以执行以下操作:
[Authorize(Roles = "Approver")]
如何在数据库中保存角色的名称,因此我想尝试执行以下操作:
[Authorize(Roles = Settings.Instance.RoleEmployee)]
但是我收到以下错误:
属性参数必须是常量表达式,typeof表达式 或属性参数类型
的数组创建表达式
有什么方法吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
public class UniqueAttribute : ValidationAttribute
{
public string Identifier { get; set; }
public override bool IsValid(object value)
{
// Get property value
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(value);
string identifierValue = properties.Find(this.Identifier, true).GetValue(value).ToString();
}
}
您将获得上述任何财产的价值
[UniqueAttribute(Identifier = "Id")]
答案 2 :(得分:0)
如果"员工"是一个已知角色,然后在应用程序中定义此字符串常量,并确保在需要时可以将存储在数据库中的角色映射到此值。