ASP会员当前用户没有采取正确的价值

时间:2013-04-29 13:47:30

标签: asp.net asp.net-membership

我正在使用ASP控件登录,我想根据其角色重定向登录的用户。但似乎用户采用上次登录用户的先前值。似乎刷新当前用户或类似的东西的问题 我的webform1.aspx.cs代码:

 protected void Login1_LoggedIn(object sender, EventArgs e)
    {
        TextBox1.Text = Context.User.Identity.Name.ToString();
        if (Context.User.IsInRole("admin"))
        {
            Response.Redirect("~/admin.aspx");
        }
        else if (User.IsInRole("user"))
        {
            Response.Redirect("~/user.aspx");
        }

    }

1 个答案:

答案 0 :(得分:0)

LoggedIn控件的Login事件内,主要对象尚未附加到当前HttpContext

因此,您无法在Context.User事件中使用LoggedIn

protected void Login1_LoggedIn(object sender, EventArgs e)
{
   var roles = Roles.GetRolesForUser(Login1.Username);
   if (roles.Contains("admin"))
   {
      Response.Redirect("~/admin.aspx");
   }
   else if (User.IsInRole("user"))
   {
      Response.Redirect("~/user.aspx");
   }
}