我的asp.net登录页面中有以下代码:
if (Request.QueryString["ReturnUrl"] != null)
FormsAuthentication.RedirectFromLoginPage(UserLogin.UserName, UserLogin.RememberMeSet);
else
FormsAuthentication.SetAuthCookie(UserLogin.UserName, UserLogin.RememberMeSet);
我想要的场景是:
当用户进入登录页面时,将检查他是否有身份验证cookie,如果有,则会自动重定向到默认页面(这是一个只有经过身份验证的用户才能看到的页面)。
如何实现这一目标?
答案 0 :(得分:3)
将其放在Page_Init中,例如......
if (Request.IsAuthenticated) {
Response.Redirect(Request.QueryString["ReturnUrl"]);
}
如果他们已登录,它只会将用户退回到目的地。
答案 1 :(得分: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 );
}
}