我已经检查了很多关于这个错误的帖子,但是还没能解决这个问题。
我有一个简单的MVC5网站在VS2013上运行的Windows8专业版。创建站点时,选择了用于个人帐户的选项。我现在需要启用windows身份验证,以便只有AD帐户用户可以使用该网站,还需要进行授权,以便我可以将对特定视图/控制器的访问限制为特定AD组。
在VS中选择web项目后,我已经更新了属性窗口(F4),以便匿名身份验证设置为disabled,Windows Authentication设置为Enabled。
该项目的web.config现在包含以下部分:
<system.web>
<authentication mode="Windows" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authorization>
<deny users="?" />
</authorization>
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthenticationModule" />
</modules>
</system.webServer>
我从IIS或F5访问站点时收到错误: HTTP错误404.15 -找不到请求过滤模块被配置为拒绝查询字符串太长的请求。我注意到一些东西循环给出了一个ReturnUrl,它是查询字符串中的一个重复的长连接。
在Impersonisation部分中,我已设置为禁用“匿名身份验证、ASP.Net模拟和窗体身份验证”。在IIS.Net授权规则一节中,我设置了拒绝“匿名用户”和允许“所有用户”。
我哪里错了?
发布于 2015-02-28 20:03:41
您可能在启动时有一个函数,它会将您重定向到登录页面。您必须禁用它。
我使用默认的身份验证方法创建了该项目,该方法创建了一个帐户控制器及其依赖项。当我将身份验证方法更改为Windows时,出现了上述错误。
我所做的就是注释掉Startup.cs文件中的ConfigureAuth(app)
函数来解决这个问题。
发布于 2016-09-23 01:43:00
我也有同样的问题..
检查项目属性下的..
Anonymous Authentication=False
Windwos Authentication=True
发布于 2020-01-10 22:11:24
我们遇到了类似的问题,我们的授权过滤器被正确地实现了。我把这篇文章留在这里,以防其他人遇到IIS10的同样问题。
在与微软支持部门合作后,我们确定没有在服务器级别启用.Net授权规则。
https://stackoverflow.com/questions/28483745
复制相似问题