对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 中的非字符串角色名称?

如何在asp.net mvc 5身份中的授权属性中使用动态角色

ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统

带有参数的 ASP.NET MVC 授权属性

ASP.NET Core用配置文件来设置授权角色