我将如何在程序本身内部而不是通过数据库对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”。然后,我可以根据他们的角色名来执行操作。
到目前为止,我所看到的一切都是通过数据库完成的。将不胜感激。谢谢!
答案 0 :(得分:2)
我假设您正在使用Windows身份验证。
话虽如此,您可以轻松地根据用户的Active Directory组进行授权。这将使您脱离数据库,并且您所要做的就是在用户更改后将用户添加到AD组。
然后,您可以使用此批注对控制器或动作进行授权。
[Authorize(Roles = @"DOMAIN\ADGroup")]