如果用户直接访问ASP.NET WebForms中的任何页面,如何将用户重定向到登录页面

时间:2016-04-20 11:00:37

标签: c# asp.net webforms entity-framework-6

我正在研究ASP.NET webforms。如果用户直接输入任何其他页面的URL,我想将用户重定向到登录页面。我在web.config文件中添加了以下代码,它将用户重定向到登录页面,以防用户尝试直接访问任何其他页面,但是当用户登录时会出现问题,应该将用户重定向到welcome.aspx页面,但它再次重定向到登录页面。问题在哪里?

我使用的web.config文件中的代码....

<authentication mode="Forms">
  <forms name=".COOKIE" loginUrl="login.aspx" protection="All" path="/" timeout="480"/>
</authentication>
<authorization>
  <deny users="?"/>
  <allow users="*"/>
</authorization>

和 login.aspx页面代码如下:

foreach (var user in db.usertables)

        if (user.username == TextBox1.Text && user.password == TextBox2.Text)
        {

            {
                Response.Redirect("welcome.aspx");
            }
        }
        else

        {

            Label1.Visible = true;

        }

1 个答案:

答案 0 :(得分:0)

从web.config中删除以下代码

<authorization>
 <deny users="?"/>
 <allow users="*"/>
</authorization>

在您的aspx.cs页面中,添加以下代码

if(authenticated)
{    
    FormsAuthentication.SetAuthCookie(username,false);
    Response.Redirect("welcome.aspx");
}