我正在使用ASP.NET核心2.0 MVC构建Intranet。所有用户都是活动目录的一部分。另外,我有一个MSSQL数据库,包含以下表格:
Users (Id, FirstName, UserNameAd (unique), ...)
Roles (Id, RoleName)
UserRoles (User_Id, Role_Id)
在我的Web应用程序中,我现在想要检索用户的角色并将它们存储在Microsoft的身份验证/身份类中,以便使用[Authenticate(Roles="Admin")]
内容。我不确定我将把这个角色请求放在哪里,最佳做法是什么。用户可能在白天获得新角色,或者白天删除角色,我实际上不希望用户点击特定内容或需要他重新启动浏览器以便应用新角色 - 这就是为什么我认为需要从服务器的每个服务器动作(POST,GET)请求角色。
任何有关优秀教程的想法或链接都将受到高度赞赏。
另外,如果你认为我的做法不是好的做法而你有更好的想法,我会很高兴知道。
答案 0 :(得分:0)
经过互联网上的大量讨论和研究后,我得出了选择纯Windows身份验证的结论。
它开箱即用,您已经可以将活动目录组用作[Authorize(Roles =“ADGroupName”)]的角色,这非常简单明了。