2017-04-18 13 views
0

Je crée une application asp.net mvc5 qui utilise l'authentification par cookie. Mon code startup.cs est le suivant.CookieAuthentication - Comment rediriger vers la page de connexion lorsque ExpireTimeSpan est terminé?

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
     app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = "myApplicationCookie", 
      ExpireTimeSpan = System.TimeSpan.FromMinutes(10), 
      LoginPath = new PathString("/Account/Login"), 
      LogoutPath = new PathString("/Account/LogOut") 

     }); 
    } 
} 

Après expiration de ExpireTimeSpan, c.-à-d. après 10 minutes, si je recharge la page, l'application est redirigée vers la page de connexion. Mais si je fais une requête ajax, rien ne se passe et il n'est pas non plus redirigé vers la page de connexion. Comment puis-je rediriger vers la page de connexion sur une requête ajax après la fin de ExpireTimeSpan? S'il vous plaît aider. Je vous remercie.

Répondre

0

Vous pouvez avoir le délai d'expiration de votre session dans le fichier web.config. coller le code dans le fichier web.config dans votre projet

<configuration> 
    <system.web> 
    <sessionState timeout="1"></sessionState> 
    </system.web> 
</configuration> 

Dans fichier global.asax créer un événement comme

void Session_Start(object sender, EventArgs e){ 
     // Code that runs when a new session is started 
     if (Session["user"] != null) 
     { 
      // Navigate to welcome page 
     } 
     else 
     { 
      // Navigate to login page 
     } 
    } 

Lorsque la session est TimedOut il sera automatiquement redirigé vers la page de connexion .

Remarque: Le délai d'attente est en minutes.

+0

Est-ce que cela fonctionnera avec la classe de démarrage que j'ai ci-dessus? J'ai utilisé claimsIdentity pour stocker les informations d'utilisateur enregistrées. Pas de session. Est-ce que cette séance d'entraînement pour mon scénario? – Prabesh

+0

Cette approche est basée sur la session seulement – siva