asp.net-mvc – 使用Windows身份验证与活动目录组作为角色
|
我已经读过几个关于这个话题的问题,
我想做什么: 为仅由我们自己的员工使用的Web应用程序实施Windows身份验证。这样他们不应该需要登录到应用程序,但已经通过登录窗口的方式进行身份验证。 此外,我需要限制应用程序的某些区域,根据用户可能被分配到的Active Directory安全组。 所以我想要能够装饰控制器/操作 [Authorize(Roles="SomeRole")] 我试过: 我有 <authentication mode="Windows" /> 在我的web.config。我已经添加了一个< roleManager>在一些链接到上面的帖子中找到。目前我有这个角色经理 <roleManager defaultProvider="WindowsProvider"
enabled="true"
cacheRolesInCookie="false">
<providers>
<add
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
如this帖子中所示。 因为它是,如果我用[授权]装饰控制器,我可以访问它。 然而: 我可以看到在我的网络上的用户设置,我是AD安全组名为“IT”的一部分。但是如果我用[Authorize(Roles =“IT”)]装饰相同的控制器,我得到由asp.net开发服务器为401未授权的空白屏幕。这是意想不到的。我认为我应该能够查看该页面,因为我登录到Windows和组“IT”的一部分。 我在这个主题上找到的大多数东西使得它听起来很简单,完成我想做的,但我显然缺少这里的东西。 解决方法对于dev我使用IISExpress与开发服务器属性的MVC项目建立起来 禁用匿名身份验证,并启用Windows身份验证。 使用我们的TFS构建服务器来部署Web配置,以测试和发布服务器,其身份验证也如上所述设置,并在这些位置工作。 在我的web.config我有。 <system.web>
....
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
....
</system.web>
我可以用 [Authorize(Roles = @"DOMAINADGroup")]
Public ActionResult Index()
{...}
要么 public ActionResult Index()
{
var User = System.Web.HttpContext.Current.User;
if (User.IsInRole("DOMAINADGroup"))
{
return RedirectToAction("IRSAdmin");
}
return View();
}
之后,我记得退出并重新登录,所以我被授予AD组的权限被应用。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何使用ASP.NET Identity 3.0没有Entity Framework
- 如何测试ASP.NET会员密码是否符合配置的复杂性要求?
- asp.net-mvc – Moq嘲笑一个类
- asp.net-mvc – IoC Castle Windsor – 没有为此对象定义的
- asp.net – 表单验证忽略默认文档
- asp.net:控件/页面的页面生命周期顺序与其中的用户contorl
- 如何在asp.net会员中手动更改密码?
- asp.net – Handles子句需要在包含类型或其基类型之一中定义
- asp.net-mvc – 在ASP.NET MVC中对ViewModels进行验证
- asp.net-mvc – asp.net mvc输入/模型验证多语言
- asp.net-mvc – 如何在Controller外访问RequestC
- asp.net – “’Microsoft.Jet.OLEDB.4.0’提供程
- asp.net – 剑道:网格中的ComboBox – 将选定组
- asp.net-core-mvc – 如何在Asp.Net Core MVC 1.
- asp.net – HttpHandler 101失败
- asp.net – 哪个更适合性能视图状态或会话
- asp.net-mvc-4 – 是否可以将MVC Razor视图保存到
- asp.net-mvc – 只读一个下拉列表,但仍然提交其值
- ASP.NET 2.0 JQuery AJAX登录
- UnitOfWork知多少
