我正在使用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");
}
}
答案 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");
}
}