Hug*_*own 5 iis windows-server-2008 asp.net http-basic-authentication
我有一个正在开发的 .NET (MVC2) 网站。我已经将它部署到一些生产基础设施,并通过匿名访问在互联网上对其进行了测试(就像它一旦上线一样)并且它工作正常。从现在到上线日期,我想限制对一个小型测试组的访问。
但是,当我关闭匿名访问(我在 Windows 2008 R2 64 位上使用 IIS 7)并启用基本身份验证时,有两件事会出错:首先,它干扰了站点身份验证,并重定向到配置的站点登录页面,其次,由于某种原因样式表停止“工作”。即站点看起来好像没有样式表,即使它们被正确下载(如在 Fiddler/Firebug 中查看的那样。)
我想要的是保护对服务器的访问——我不想使用基本身份验证作为 MVC 网站的身份验证机制——由标准表单身份验证处理。我只是想阻止人们在网站上线之前窥探它。
我以前遇到过这种情况,并且一直在为缺乏简单/明显的“使用密码保护此服务器”功能而苦苦挣扎。
必须有一个简单的答案。(我正在考虑与 .htaccess 文件等效的功能,但对于 IIS)?
[更新] 继我的未遂事件之后(见下面的答案),我想要的是 Windows 身份验证来控制对网站的访问,以及 ASP.NET 身份验证来控制用户与网站的交互(他们的身份,是否出现记录输入/输出等)
好吧 - 所以这可能是我的错误。为了让 IIS/ASP.NET 正常运行,您不能简单地依赖 IIS 身份验证模块。当我忙于启用/禁用 IIS 管理器管理单元中的选项时,我遇到的问题(重定向)是由 web.config 设置引起的:
<authentication mode="Forms">
<forms loginUrl="~/logon" protection="All" path="/" />
</authentication>
无论您在 IIS 中选择什么选项(匿名、基本、Windows、表单等),web.config 似乎都会覆盖/干扰选择。
因此,答案是将 web.config 中的身份验证元素替换为声明 Windows 身份验证的元素:
<authentication mode="Windows"></authentication>
然后通过 IIS 模块删除匿名访问,并选择“基本”。

| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |