相关疑难解决方法(0)

IIS上的ASP.NET MVC3和Windows Auth会重定向到/ Account/Login

我正在运行MVC3和Windows身份验证Web应用程序.当我部署到IIS6时,它运行良好,直到我点击需要身份验证的页面.然后,当我在我的应用程序中没有跟踪它并且我的web.config配置为windows auth时,它会自动重定向到/ Account/Login.

有任何想法吗?

这是我的整个web.config文件:http://pastie.org/1568510

asp.net-mvc iis-6 windows-authentication sharp-architecture asp.net-mvc-3

57
推荐指数
4
解决办法
3万
查看次数

在ASP.NET MVC 3 Beta中专门使用Windows身份验证的问题

我正在ASP.NET MVC 3 Beta中创建一个Intranet站点,并且只想使用Windows身份验证.另外,我想在VS2010中使用Visual Studio开发服务器.

我修改了默认的web.config文件以删除对表单身份验证的所有引用并切换到:

<authentication mode="Windows"  />
<authorization>
  <deny users="?" />
</authorization>
Run Code Online (Sandbox Code Playgroud)

但是,当我启动我的网站并获得默认页面时,我得到了这样的答复:

HTTP/1.1 302 Found
Server: ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:05:19 GMT
X-AspNet-Version: 4.0.30319
Location: /Account/Login?ReturnUrl=%2f
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 145
Connection: Close
Run Code Online (Sandbox Code Playgroud)

这会在我的浏览器中显示此消息:

'/'应用程序中的服务器错误.

无法找到该资源.

说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用.请查看以下网址,确保拼写正确.

请求的URL:/帐户/登录

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.1版本:4.0.30319.1

如果我在"使用Visual Studio开发服务器"下的项目属性中选择"NTLM身份验证",那么我在connect上正确获得此回复:

HTTP/1.1 401 Unauthorized Server
ASP.NET Development Server/10.0.0.0
Date: Tue, 02 Nov 2010 14:07:37 GMT
Content-Length: 1211 
WWW-Authenticate: NTLM
Run Code Online (Sandbox Code Playgroud)

但是当我进行身份验证时,我得到了302

我认为这只是清除一些默认值但不确定("/ Account/Login"不会出现在我的web.config文件中的任何地方).如果我删除"拒绝"部分,那么事情就可以正常工作,除非我没有得到经过身份验证的校长并且有效地保持匿名.

我相信这曾经在ASP.NET MVC 2和VS2008中工作,只需将身份验证模式更改为Windows,但它似乎不再以这种方式工作.

我知道我可能遗漏了一些基本的东西.谢谢!

注意 …

visual-studio-2010 asp.net-mvc-3

27
推荐指数
2
解决办法
2万
查看次数