Visual studio 2012 Visual Studio 2012更新2 IIS Express基本身份验证登录失败
我们有一个VisualStudio向导,它使用不同的设置(如身份验证)生成新的ASP.NET项目 在为VS11安装“更新2”后,生成的应用程序在使用HTTP基本身份验证时获得401.1-未经授权。如果我切换到Development Server而不是IIS Express,它会正常工作 还有一件奇怪的事。具有基本身份验证的项目使用Visual Studio 2012和Visual Studio 2012 Update 1中的IIS Express。IIS Express的版本相同-8.0.8418.0 以下是我调试尝试的结果:Visual studio 2012 Visual Studio 2012更新2 IIS Express基本身份验证登录失败,visual-studio-2012,basic-authentication,iis-express,Visual Studio 2012,Basic Authentication,Iis Express,我们有一个VisualStudio向导,它使用不同的设置(如身份验证)生成新的ASP.NET项目 在为VS11安装“更新2”后,生成的应用程序在使用HTTP基本身份验证时获得401.1-未经授权。如果我切换到Development Server而不是IIS Express,它会正常工作 还有一件奇怪的事。具有基本身份验证的项目使用Visual Studio 2012和Visual Studio 2012 Update 1中的IIS Express。IIS Express的版本相同-8.0.841
1. credentials prompt rises
2. I'm typing login and password
3. method IsAuthorizationPresent() should be called but this does not happen!
使用Development Server时调用方法IsAuthorizationPresent()
public class BasicAuthenticationModule : AuthenticationModuleBase
{
/// <summary>
/// Checks whether authorization header is present.
/// </summary>
/// <param name="request">Instance of <see cref="HttpRequest"/>.</param>
/// <returns>'true' if there's basic authentication header.</returns>
protected override bool IsAuthorizationPresent(HttpRequest request)
{
string auth = request.Headers["Authorization"];
return auth != null && auth.Substring(0, 5).ToLower() == "basic";
}
...
您可以在此处看到两个“WWW-Authenticate”标题。
基本模块已插入web.config:
...
<add name="MyBasicAuthenticationModule" type="WebDAVServer.NtfsStorage.BasicAuthenticationModule, WebDAVServer.NtfsStorage" />
</httpModules>
。。。
...
<add name="MyBasicAuthenticationModule" type="WebDAVServer.NtfsStorage.BasicAuthenticationModule, WebDAVServer.NtfsStorage" />
</httpModules>