[英]Redirect after login in site
我在Web應用程序中使用asp登錄控件(ASP.NET 4)。 如果管理員角色的用戶我想重定向到管理頁面。
我使用此代碼,但不工作:
protected void baseLogin1_LoggingIn(object sender, LoginCancelEventArgs e)
{
if (Page.User.Identity.IsAuthenticated && Roles.IsUserInRole(Page.User.Identity.Name, "Admin"))
{
Page.Response.Redirect("admin/Default.aspx");
}
}
請幫我。
在用戶通過身份驗證之前引發LoggingInEvent。 所以你的病情的第一部分總是假的。 在LoggedIn事件下移動邏輯。 試試這個:
protected void baseLogin1_LoggedIn(object sender, EventArgs e)
{
if (Context.User.Identity.IsAuthenticated && Context.User.IsInRole("Admin"))
{
Context.Response.Redirect("admin/Default.aspx");
}
}
使用LoggedIn事件:事件描述在這里
你應該真的使用Server.Transfer("~/admin/Default.aspx");
因為它更有效(更少的往返)。
如果頁面需要保留書簽的查詢字符串,或者在瀏覽器中預先設置正確的URL很重要,則需要Response.Redirect()
,但要注意額外的帶寬成本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.