Перенаправить на страницу по умолчанию, если у пользователя есть файл cookie для аутентификации - PullRequest
2 голосов
/ 08 октября 2011

У меня есть следующий код на моей странице входа в asp.net:

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

Сценарий, который я хочу:

когда пользователь заходит на страницу входа в систему, он проверяет, есть ли у него cookie-файл для аутентификации, и, если это так, он автоматически перенаправляется на страницу по умолчанию (то есть на страницу, которую могут видеть только аутентифицированные пользователи).

Как этого достичь?

Ответы [ 2 ]

3 голосов
/ 08 октября 2011

Если файл 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 );
      }
   }
3 голосов
/ 08 октября 2011

Поместите это в Page_Init, например ...

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

Он будет просто возвращать пользователя к месту назначения, если он вошел в систему.

...