0

我的应用程序需要 2 种登录机制,一种是在 Windows 安全对话框中提供凭据的基本身份验证,另一种是伪造的基本身份验证,这意味着加密的用户名,密码作为查询字符串中 url 的一部分发送,例如http://myurl.com? username=xxx&pwd=xxxxxx 我已经创建了一个自定义模块,如下所示

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 并且它执行行 context.Request.Headers["Authorization"]) 并触发 Windows 安全对话框(基本身份验证),我如何实现我的要求。

4

0 回答 0