2013-04-29 56 views
0

我正在使用ASP控制登录,我想根据其角色重定向登录的用户。但它似乎是用户采取上次登录用户的以前的值。似乎刷新当前用户或者类似的东西我WebForm1.aspx.cs中的这个 代码的问题:ASP会员当前用户没有采取正确的值

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"); 
     } 

    } 
+0

没有人在这一点上帮助我 – strambi 2013-04-30 08:07:29

回答

0

LoggedInLogin控制的情况下,主要对象还没有被附加到当前HttpContext呢。

因此,您不能在LoggedIn事件中使用Context.User

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"); 
    } 
}