0

我在我的 ASP.NET 项目中添加了身份验证表单。主页(在我的例子中是 default.aspx)不应该受密码保护,所以我在 web.config 中添加了这一行:

<location path="default.aspx">
<system.web>
  <authorization>
    <allow users="*" />
  </authorization>
</system.web>

问题是当我输入 URL 时,比如http://mywebapp.university.edu/,我得到了登录页面。果然,如果我输入http://mywebapp.university.edu/default.aspx。然后我无需提供任何凭据即可进入该页面。如果我输入为 default.aspx 页面提供的 URL 而无需在 url 上显式输入它,我该怎么办?

谢谢!

4

3 回答 3

0

In IIS , go to website property as given in below link

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/dc6eb1b4-9028-4308-9935-52b64edfad36.mspx?mfr=true

Move up default.aspx page above the login page , save and test.

于 2012-04-13T20:39:37.107 回答
0

每当用户直接访问default他将verified使用的页面时,user.identity如果不是,他将redirected访问Login page

protected void Page_Load(object sender, EventArgs e)
{
     if (User.Identity.IsAuthenticated) // if the user is already logged in
     {
          Response.Redirect("~/Default.aspx");
     }
     else
     {    
          Response.Redirect("~/Login.aspx");
     }
}
于 2012-04-13T19:30:42.203 回答
0

所以我在 Login.aspx 页面上想出了这个可怕的 hack:

protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["ReturnUrl"] == "/")
        {
            Response.Redirect("default.aspx");
        }
    }

现在它起作用了。如果有人知道如何解决这个问题,我仍然接受答案,谢谢!

于 2012-04-16T16:23:31.780 回答