2011-10-08 67 views
2

我在我的asp.net登录页面下面的代码:重定向到默认页面,如果用户身份验证cookie

if (Request.QueryString["ReturnUrl"] != null) 
     FormsAuthentication.RedirectFromLoginPage(UserLogin.UserName, UserLogin.RememberMeSet); 
    else 
     FormsAuthentication.SetAuthCookie(UserLogin.UserName, UserLogin.RememberMeSet); 

我想要的场景是:

当用户进入登录页面,会检查他是否有认证cookie,如果有,他会自动重定向到默认页面(该页面只有经过认证的用户才能看到)。

这是如何实现的?

回答

3

将这个在Page_Init例如...

if (Request.IsAuthenticated) { 
      Response.Redirect(Request.QueryString["ReturnUrl"]); 
    } 

这将只是反弹的用户开始到目的地,如果他们已经登录。

3

如果身份验证cookie存在并它是有效的,上下文将填充用户数据。只需检查然后如果:

public class Login_Page { 
    public void Page_Load(...) { 
     if (this.Context.User != null && this.Context.User.Identity != null && 
      this.Context.User.Identity.IsAuthenticated) 
     this.Response.Redirect(FormsAuthentication.DefaultUrl); 
     } 
    } 
+0

它是FormsAuthentication.DefaultUrl,不是吗? – user560498

+0

谢谢,我的记忆失败了:) –

相关问题