使用 IIS 7.5 进行表单身份验证 - 未授权
Posted
技术标签:
【中文标题】使用 IIS 7.5 进行表单身份验证 - 未授权【英文标题】:Forms Authentication with IIS 7.5 - Not Authorized 【发布时间】:2013-03-01 19:00:03 【问题描述】:我有一个使用 IIS 7.5 部署到 Windows Server 2008 R2 的 Web 应用程序。该应用程序是带有 .Net Framework 4.0 的 ASP.NET MVC 3。
身份验证设置:启用匿名和表单身份验证。我已将匿名属性下的匿名用户身份值设置为指向“应用程序池身份”而不是特定用户。
Web.Config
尝试从我的计算机远程访问应用程序时,我收到消息“401 - 未经授权:由于凭据无效,访问被拒绝。”访问“帐户/登录”页面时。
我通过 Visual Studio 访问本地计算机上的应用程序没有问题。我还可以毫无问题地访问 Windows 2008 Server 上的应用程序。只有当我尝试从本地计算机访问服务器上的应用程序时,我才会遇到问题。
有什么想法吗?
一些附加说明: - 在我进入登录屏幕之前它失败了。
【问题讨论】:
我前几天也遇到过类似的问题,看看对你有没有帮助。同时重置 IUSR_YourPC 的默认匿名配置。 ***.com/questions/15030515/… 如何确定服务器是否允许表单身份验证。 右键单击包含 WebApp 的虚拟目录,然后: - 转到目录安全选项卡 - 单击修改 - 未选中集成 Windows 身份验证 - 还必须检查匿名访问。这是它在 IIS6 GUI(西班牙语)上的样子:s7.postimage.org/m95dx2zxn/form_Auth_Setts.jpg 另请检查:***.com/questions/6447728/… 在 IIS7 上有点不同。表单和匿名已启用。 Windows 身份验证已禁用。 【参考方案1】:我已将匿名属性下的匿名用户身份值设置为指向“应用程序池身份”而不是特定用户。
尝试将其设置回原始IUSR
并确保IUSR_YourComputerName
用户可以访问站点的文件/文件夹
【讨论】:
我改回IUSR并将IUSR添加到文件夹权限但仍然没有运气。 您的 web.config 中设置了什么身份验证方案? 表单认证:http://social.technet.microsoft.com/Forums/windowsserver/en-US/c9239a89-fbee-4adc-b72f-7a6a9648331f/401-unauthorized-access-is-denied-due-to-invalid-credentials
引用那篇文章:
IIS 7 很难弄清楚为什么我会得到 401 - 未经授权:由于凭据无效,访问被拒绝...直到我 这样做了...
1.) 打开 iis 并选择导致 401 的网站
2.) 打开“IIS”标题下的“Authentication”属性
3.) 点击“Windows Authentication”项并点击“Providers”
4.) 对我来说,问题在于协商高于 NTLM。我认为幕后正在进行某种握手,但我是 从未真正经过身份验证。我把 NTLM 移到最上面的位置,然后 修复它的 BAM。
【讨论】:
问题是关于表单身份验证,而不是 Windows 身份验证以上是关于使用 IIS 7.5 进行表单身份验证 - 未授权的主要内容,如果未能解决你的问题,请参考以下文章
使用 Silverlight 5、IIS 7.5 对 WCF 服务进行 Windows 身份验证
iis 7.5 dns windows身份验证页面用户身份不起作用
使用 Powershell 3.0 切换 IIS 7.5 身份验证“匿名身份验证”?
IIS 7.5 Windows 身份验证失败,除非代码文件共享给最终用户