HTTP 错误 404.15 - 未找到 ...因为查询字符串太长
HTTP Error 404.15 - Not Found ...because the query string is too long
我检查了很多关于此错误的帖子,但仍无法解决问题。
我在 Windows 8 pro 上用 VS2013 运行 构建了简单的 MVC5 网站。创建站点时,选择了个人帐户选项。我现在需要启用 windows 身份验证,以便只有 AD 帐户用户可以使用该网站和授权,以便我可以将对某些视图/控制器的访问限制为特定的 AD 组。
在 VS 中选择 Web 项目后,我更新了属性 window (F4),以便匿名身份验证设置为禁用,Windows 身份验证设置为启用。
项目的 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,它是查询字符串中重复的长连接。
在 IIS\Authentication 部分,我已设置为禁用 "Anonymous Authentication, ASP.Net Impersonisation, and Forms Authentication"。在 IIS.Net 授权规则部分,我设置为拒绝 "Anonymous Users" 和允许 "All Users"
我哪里错了?
我唯一一次亲自 运行 解决这个问题是在我不小心将 [Authorize]
添加到布局中使用的子操作时。添加 [Authorize]
到您的登录操作会产生相同的效果,或者只是忽略在您的登录操作中添加 [AllowAnonymous]
,当它所在的控制器上有 [Authorize]
时。总而言之,这是由需要在实际登录页面上进行授权的某些事情引起的,这会导致您被重定向到需要授权的登录页面,从而导致您被重定向到登录页面,等等
tl;博士
- 确保您的登录/登录操作没有
[Authorize]
.
- 确保您的登录/登录操作有
[AllowAnonymous]
.
- 确保您的布局或登录页面中使用的子操作没有
[Authorize]
或 [AllowAnonymous]
(如果它们位于装饰有 [Authorize]
的控制器中)。
您可能在启动时有一个将您重定向到登录页面的功能。您必须禁用它。
我通过默认身份验证方法创建了项目,该方法创建了一个帐户控制器及其依赖项。当我将身份验证方法更改为 Windows 时,出现了上述错误。
我所做的是在 Startup.cs 文件中注释掉 ConfigureAuth(app)
函数来解决问题。
我在启用 Windows 身份验证时遇到此错误。我想根据 Windows 登录授权用户,我不想在我的应用程序中使用登录页面。
我通过在我的 Web 配置文件中添加以下内容来修复错误。
在标签 system.web
下,将身份验证 mode="None"
更改为身份验证 mode="Windows"
标签appSettings
下,添加add key="owin:AutomaticAppStartup" value="false"
我遇到了同样的问题..
在项目属性下检查..
Anonymous Authentication=False
Windwos Authentication=True
我们 运行 遇到了类似的问题,我们的授权过滤器已正确实施。我把它留在这里以防其他人遇到与 IIS 10 相同的问题。
在与 Microsoft 支持人员合作后,我们确定未在服务器级别启用 .Net 授权规则。
我检查了很多关于此错误的帖子,但仍无法解决问题。
我在 Windows 8 pro 上用 VS2013 运行 构建了简单的 MVC5 网站。创建站点时,选择了个人帐户选项。我现在需要启用 windows 身份验证,以便只有 AD 帐户用户可以使用该网站和授权,以便我可以将对某些视图/控制器的访问限制为特定的 AD 组。
在 VS 中选择 Web 项目后,我更新了属性 window (F4),以便匿名身份验证设置为禁用,Windows 身份验证设置为启用。
项目的 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,它是查询字符串中重复的长连接。
在 IIS\Authentication 部分,我已设置为禁用 "Anonymous Authentication, ASP.Net Impersonisation, and Forms Authentication"。在 IIS.Net 授权规则部分,我设置为拒绝 "Anonymous Users" 和允许 "All Users"
我哪里错了?
我唯一一次亲自 运行 解决这个问题是在我不小心将 [Authorize]
添加到布局中使用的子操作时。添加 [Authorize]
到您的登录操作会产生相同的效果,或者只是忽略在您的登录操作中添加 [AllowAnonymous]
,当它所在的控制器上有 [Authorize]
时。总而言之,这是由需要在实际登录页面上进行授权的某些事情引起的,这会导致您被重定向到需要授权的登录页面,从而导致您被重定向到登录页面,等等
tl;博士
- 确保您的登录/登录操作没有
[Authorize]
. - 确保您的登录/登录操作有
[AllowAnonymous]
. - 确保您的布局或登录页面中使用的子操作没有
[Authorize]
或[AllowAnonymous]
(如果它们位于装饰有[Authorize]
的控制器中)。
您可能在启动时有一个将您重定向到登录页面的功能。您必须禁用它。
我通过默认身份验证方法创建了项目,该方法创建了一个帐户控制器及其依赖项。当我将身份验证方法更改为 Windows 时,出现了上述错误。
我所做的是在 Startup.cs 文件中注释掉 ConfigureAuth(app)
函数来解决问题。
我在启用 Windows 身份验证时遇到此错误。我想根据 Windows 登录授权用户,我不想在我的应用程序中使用登录页面。
我通过在我的 Web 配置文件中添加以下内容来修复错误。
在标签
system.web
下,将身份验证mode="None"
更改为身份验证mode="Windows"
标签
appSettings
下,添加addkey="owin:AutomaticAppStartup" value="false"
我遇到了同样的问题..
在项目属性下检查..
Anonymous Authentication=False
Windwos Authentication=True
我们 运行 遇到了类似的问题,我们的授权过滤器已正确实施。我把它留在这里以防其他人遇到与 IIS 10 相同的问题。
在与 Microsoft 支持人员合作后,我们确定未在服务器级别启用 .Net 授权规则。