相关疑难解决方法(0)

使用Windows身份验证和活动目录组作为角色

我已经阅读了关于这个主题的几个问题,比如这里,这里,这里和这里 ; 但在我的案例中没有一个提供了有效的解决方案.

我想做的事:

为仅由我们自己的员工使用的Web应用程序实施Windows身份验证.这样他们就不需要登录应用程序,但已经通过登录Windows进行身份验证.

此外,我需要根据用户可能分配到的Active Directory安全组来限制应用程序的某些区域.

所以我希望能够装饰Controllers/Actions

[Authorize(Roles="SomeRole")]
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

我有

<authentication mode="Windows" />
Run Code Online (Sandbox Code Playgroud)

在我的web.config中.我<roleManager>在上面链接的一些帖子中添加了几个a的排列.目前我有这个角色经理

<roleManager defaultProvider="WindowsProvider"
  enabled="true"
  cacheRolesInCookie="false">
      <providers>
        <add
          name="WindowsProvider"
          type="System.Web.Security.WindowsTokenRoleProvider" />
      </providers>
    </roleManager>
Run Code Online (Sandbox Code Playgroud)

在这篇文章中找到.

事实上,如果我装饰一个控制器[Authorize],我可以很好地访问它.

然而:

我可以在网络上的用户设置中看到,我是名为"IT"的AD安全组的成员.但是,如果我装饰相同的控制器,[Authorize(Roles="IT")]我得到的是由asp.net开发服务器为未授权的401服务的空白屏幕. 这是出乎意料的. 我认为我应该能够查看页面,因为我登录到Windows并且是"IT"组的一部分.

我在这个主题上发现的大部分内容都让我觉得很难完成我想要做的事情,但我在这里显然遗漏了一些东西.

asp.net-mvc active-directory windows-authentication

33
推荐指数
1
解决办法
3万
查看次数