Cha*_*ian 8 iis asp.net-mvc iis-7.5
我们的应用程序配置为使用表单身份验证,并且在大多数计算机上它运行良好.但是,我在我们的一个开发人员工作站上遇到了开发环境问题.当我转到应用程序的其中一个URL时,如下所示:
IIS提示我输入密码,如下所示:
(该名称iweb.local
在hosts文件中设置为指向127.0.0.1.本质上它是localhost的别名.我们将IIS站点配置为使用主机头,以便将来可能支持多个应用程序.)
如果我访问应用程序中的大多数其他URL,例如http://iweb.local/,则不会提示我输入密码.并且在任何其他开发人员计算机上使用完全相同的代码库时,我都不会被提示输入密码.只有这台机器才有问题.这使我有理由相信这不是编码的问题.
我尝试过的事情:
~/Areas/Reports
到~/Areas/ReportsTest
,并加载http://iweb.local/reportstest/
.这样可行; 浏览器不再提示输入用户名和密码.但是,更改URL不是我们的应用程序的选项.http://iweb.local
),但它不会记录任何提示用户输入密码的请求.http://iweb.local/reports
有两个选项WWW-Authenticate
:Negotiate
和NTLM
.由此,我确认IIS正在指示浏览器提示输入密码.但我并不接近理解为什么.http://iweb.local
或http://iweb.local/reports/
进行响应请求.两者都没有,确认是IIS正在处理请求.我没有想法.我在这个未配置与其他开发人员框相同的开发人员框中找不到任何内容.
那么:有没有人知道如何启用更深层次的日志记录或跟踪来找出IIS为什么要求输入密码?任何人都可以想到任何可能造成这种情况的事情,我还没有找到过吗?
这是在64位环境中在IIS 7.5上运行的ASP.NET MVC 3应用程序.reports
URL 的一部分配置为MVC区域.
UPDATE
在我的Web.config文件中,这是在违规机器上设置身份验证模式的方式.
<authentication mode="Forms">
<forms loginUrl="~/account/login" timeout="2880" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
<authentication>
"报告"区域的Web.config文件中没有元素.
小智 11
如果名为"Reports"的应用程序中有一个文件夹,并且SQL Server Reporting Services安装在服务器上,则名为"Reports"的Reporting Services Virtual Directory文件夹将与应用程序"Reports"文件夹冲突.要修复此打开的Reporting Services配置管理器(开始 - >所有程序 - > MS SQL Server->配置工具 - > Reporting Services配置管理器),并将虚拟目录从"报告"更改为任何其他名称("TestReports")下的左侧菜单中的"报表管理器URL".
这将解决IIS身份验证问题
归档时间: |
|
查看次数: |
5126 次 |
最近记录: |