1

我写了一个需要 HTTP Basic 授权的 ASP.NET 页面,我把它放在Page_Load函数中:

void Page_Load(object sender, EventArgs e)
{
   string auth = Request.Headers["Authorization"];     

   if (string.IsNullOrEmpty(auth))
   {
      Response.StatusCode = 401;
   }
   else
   {  
      string[] usernameAndPassword = Encoding.UTF8.GetString(Convert.FromBase64String(auth)).Split(':');
      string username = usernameAndPassword[0];
      string password = usernameAndPassword[1];         
      Login(username, password);
   }
}

当我尝试在浏览器(Firefox 或 IE)中查看该页面时,它会要求我输入用户名和密码,然后……再次要求我输入用户名和密码。

为什么会发生这种情况,我该如何解决?

4

1 回答 1

2

这应该通过 httpmodule 来处理。请考虑以下文章。 http://www.codeproject.com/KB/web-security/AspNetCustomAuth.aspx

于 2010-07-07T21:20:17.883 回答