硬编码ASP.NET MVC的角色(数据库外部)并添加Windows身份验证的用户

时间:2018-09-07 16:57:47

标签: asp.net asp.net-mvc asp.net-mvc-4

我将如何在程序本身内部而不是通过数据库对ASP.NET MVC中的角色进行硬编码以进行身份​​验证(然后如何为该角色添加人员)?

我想做的是扮演3个角色:Progammer,DatabaseAdministrator和SystemsAdministrator。我希望能够将人员添加到这些角色中(也进行硬编码),然后根据角色而不是用户名对人员进行身份验证。现在,我正在对这样的人进行身份验证:

If (@User.Identity.Name == "DOMAIN\\first.m.last")

我想做的是:

If (@User.Identity.Role == "ROLENAME")

但是,我只有3个角色和8个人。我不想在我的数据库中为他们创建一个表。因此,我将创建角色DatabaseAdministrator,然后将三个人添加为字符串“ DOMAIN \ first.m.last”。然后,我可以根据他们的角色名来执行操作。

到目前为止,我所看到的一切都是通过数据库完成的。将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

我假设您正在使用Windows身份验证。

话虽如此,您可以轻松地根据用户的Active Directory组进行授权。这将使您脱离数据库,并且您所要做的就是在用户更改后将用户添加到AD组。

然后,您可以使用此批注对控制器或动作进行授权。

[Authorize(Roles = @"DOMAIN\ADGroup")]