我编写了一个需要HTTP基本授权的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)中查看该页面时,它会询问我的用户名和密码,然后......再次询问我的用户名和密码。
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:2)
这应该通过httpmodule来处理。请考虑以下文章。 http://www.codeproject.com/KB/web-security/AspNetCustomAuth.aspx