C# MVC 4应用程序、Windows身份验证和存储在数据库中的自定义角色
各位早上好, 我对我的MVC4应用程序有以下要求C# MVC 4应用程序、Windows身份验证和存储在数据库中的自定义角色,c#,asp.net-mvc,windows,asp.net-mvc-4,authentication,C#,Asp.net Mvc,Windows,Asp.net Mvc 4,Authentication,各位早上好, 我对我的MVC4应用程序有以下要求 使用windows凭据进行身份验证(自动) 一旦通过身份验证,应用程序中的特定页面/视图/控制器将根据一组数据库表中定义的角色进行限制 编辑 以下是我迄今为止所尝试的: 将我的MVC应用程序设置为使用Windows身份验证 把这个放在我的Global.asax文件中 if(HttpContext.Current.User!=null) { 字符串[]角色={“testmyrole”}; GenericPrincipal=新的GenericPrin
[Authorize(Roles ="testmyrole")]
public ActionResult Index()
{
... do other fun stuff here
}
谢谢你抽出时间
科里我想我可能已经找到了解决问题的办法 以下是我所做的:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
string[] roles = BusinessLayer.BLGetUserRoles(User.Identity.Name).ToArray();
GenericPrincipal principal = new GenericPrincipal(User.Identity, roles);
Thread.CurrentPrincipal = System.Web.HttpContext.Current.User = principal;
}
然后,我能够在控制器的开头添加以下代码,以实现基于SQL角色的安全性:
[Authorize(Roles = "Accounting, Analyst, ETL")]
有没有比这更好的方法来实现基于角色的安全性,无论如何调用视图
任何想法都将不胜感激
科里你好……只是一些友好的建议。除非你先尝试,否则你很难从任何人那里得到“详细”的解决方案。