【发布时间】:2017-10-26 18:05:50
【问题描述】:
我在我的 asp.net 核心应用程序中设置了 cookie 身份验证。我有一个登录页面,其中凭据与活动目录匹配。这一切都很好。 现在接下来我想在我的应用程序中实现授权。我有一个用户表以及对他们的权限。例如读写权限。当用户成功通过身份验证后,我想检查这些权限并向他们展示某些功能,同时限制其他权限。例如,为写入权限显示某些下拉菜单,而为读取权限隐藏。
在 .NET Core 中处理此问题的最佳方法是什么。 我已阅读有关添加政策的信息,例如:
services.AddAuthorization(options => {
options.AddPolicy("Read", policy =>
policy.RequireClaim("Read", "MyCLaim"));
});
然后在我的控制器中:
[Authorize(Policy = "Read")]
public class HomeController : Controller
{
}
我在哪里从我的数据库中获取登录用户的权限以及如何验证用户是否具有这些权限。
不胜感激。
【问题讨论】:
-
目前推荐的方式是policies。当您认为您需要权限时,请重新考虑是否使用内置身份...它是一个身份服务器,它说明您的电子邮件、电话、年龄、角色是什么。在考虑 Permission 和 UserGroups 时,恕我直言,您可以放弃 Identity ... 推荐阅读:Permissions、Authentification
-
将对此进行调查。仅供参考,我将基于 cookie 的身份验证与 Active Directory 一起使用。
标签: asp.net-core authorization asp.net-core-mvc