authentication - 在 ASP.NET Core 中,是否可以在授权中使用枚举作为策略 RequireRole?
问题描述
在 ASP.NET Core Authorization 我想使用这个枚举:
public enum MemberRules
{
Admin= 0,
User = 1
}
在政策上,但我在类型转换或类似问题上遇到了问题:
services.AddAuthorization(options =>
{
options.AddPolicy(MemberRules.Admin, policy => policy.RequireRole(MemberRules.Admin));
options.AddPolicy(MemberRules.User , policy => policy.RequireRole(MemberRules.User ));
});
如何投射我的枚举以将其用作 RequireRole?
解决方案
使用如下枚举:
services.AddAuthorization(options =>
{
options.AddPolicy("Admin", policy => policy.RequireRole(MemberRules.Admin.ToString()));
options.AddPolicy("User", policy => policy.RequireRole(MemberRules.User.ToString()));
});
然后[Authorize]
在动作或控制器上使用
[Authorize(Policy ="Admin")]
public IActionResult GetData()
推荐阅读
- algorithm - Dijkstra 算法的运行时复杂度
- python - 访问具有正确 dtype 的行段
- javascript - 这个用于实现浮动标签输入onfocus的角度ts代码有什么问题?
- mysql - 在 where 子句的 in() 中使用查询语句时获取多行中的一行
- xml - 设置计数器值
- javascript - javascript乘法产生不同的结果
- c# - WPF DataGrid 和 IAsyncEnumerable 项
- php - php中的错误顺序回显
- reactjs - 重新渲染一个组件,它是反应中表格行的一部分
- android - 我无法在 android 中使用 kotlin 在 sqlite 中创建第二个表