我的应用程序需要2个登录机制,一个是基本身份验证,在Windows安全对话框中提供凭据,另一种方式是伪造基本身份验证意味着加密的用户名,密码作为URL的一部分在querystring中发送说http://myurl.com?username=xxx&pwd=xxxxx 我已经创建了一个类似下面的customModule
public class mymodule:IhttpModule
{
public void OnApplicationAuthenticateRequest(object sender, EventArgs e)
{
var context = ((HttpApplication)sender).Context;
if(context.Request.Querystring["username"]!=null)
{
//then write the cookie
createcookie();
}
else
{
//Request user for Basic authentication
context.Request.Headers["Authorization"])
}
}
}
1)当我像这样调用URL http://myurl.com?username=xxx&pwd=xxxxx时,第一个请求转到AuthenticateRequest并创建cookie,但AuthenticateRequest被多次调用,并且一次Request.QueryString为null并执行行上下文.Request.Headers [“Authorization”])并触发Windows安全对话(基本身份验证),如何实现我的要求。