0

我正在使用 ASP 控件登录,我想根据其角色重定向登录的用户。但似乎 The User 采用了上次登录用户的先前值。似乎刷新当前用户或类似我的 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");
        }

    }
4

1 回答 1

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");
   }
}
于 2013-04-30T22:23:30.980 回答