对ASP.NET MVC的角色(外部数据库)进行硬编码并添加Windows Authenticated Users
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对ASP.NET MVC的角色(外部数据库)进行硬编码并添加Windows Authenticated Users相关的知识,希望对你有一定的参考价值。
我如何在程序本身而不是通过数据库中对ASP.NET MVC中的角色进行硬编码以进行身份验证(然后我如何将人员添加到此角色中)?
我要做的是有3个角色:Progammer,DatabaseAdministrator和SystemsAdministrator。我希望能够将人员添加到这些角色(也是硬编码),然后根据角色而不是用户名对人员进行身份验证。现在,我正在验证这样的人:
If (@User.Identity.Name == "DOMAIN\\first.m.last")
我想要做的是:
If (@User.Identity.Role == "ROLENAME")
但是,我只有三个角色和8个人;我不想在我的数据库中为它们创建一个表。因此,我将创建角色DatabaseAdministrator,然后将三个人添加为字符串“DOMAIN \ first.m.last”。然后,我可以让操作根据他们的角色名填充视图。
到目前为止我见过的所有内容都是通过数据库完成的。非常感谢任何帮助。谢谢!
答案
我假设您正在使用Windows身份验证。
据说,您可以根据用户的Active Directory组轻松授权。这将使您远离数据库,如果用户更改,您所要做的就是将用户添加到AD组。
然后,您可以使用此批注对控制器或操作进行授权。
[Authorize(Roles = @"DOMAIN\ADGroup")]
以上是关于对ASP.NET MVC的角色(外部数据库)进行硬编码并添加Windows Authenticated Users的主要内容,如果未能解决你的问题,请参考以下文章
将控制器操作权限动态分配给 asp.net MVC 中的角色
如何在asp.net mvc 5身份中的授权属性中使用动态角色