2010-12-13 5 views
1

Je souhaite enregistrer certains paramètres utilisateur sur l'objet Session. Et recevez-le de la Session si j'en ai besoin. pour cette raison je veux créer le contrôleur de base dont un autre contrôleur est hérité de ce BaseController. et veulent vérifier la session pour null. si la session est null, rediriger vers la page d'ouverture de session. J'ai ajoutéasp.net objet session mvc

<authentication mode="Forms"> 
     <forms loginUrl="~/Membership/LogOn" timeout="1" defaultUrl="~/Membership/LogOn" /> 
    </authentication> 

au fichier webconfig. après minute, il redirige vers la page LogOn. Mais je sais que ma session se terminera après 10 minutes. comment je peux faire pour que les objets Session et httpContext.Request.IsAuthenticated meurent en même temps?

et s'il vous plaît dites-moi dans quel événement je dois vérifier la session dans BaseController. dans OnActionExecuting?

+0

Cela a été demandé [avant] (http://stackoverflow.com/questions/454616/asp-net-cookies-authentication-and-session-timeouts). Mais la réponse acceptée consistait simplement à ajouter les données au ticket d'authentification. Es-tu sûr de ne pas pouvoir faire ça ...? – rsenna

+0

ce n'est pas ce dont j'ai besoin. httpContext.Request.IsAuthenticated renvoie false mais la session n'est pas encore terminée. – AEMLoviji

Répondre

0

Je l'ai fait. 1. J'ai créé la session sur le fichier Global.asax dans Session_Start() événement 2. J'ai configuré IIS pour que ma session expirera après (5 minutes) 3. et a ajouté cette section dans le fichier web.config

<authentication mode="Forms"> 
      <forms loginUrl="~/Membership/LogOn" timeout="5" defaultUrl="~/Membership/LogOn" /> 
    </authentication> 

et maintenant httpContext.Request.IsAuthenticated retournera false lors de la session experied. parce que le délai d'attente les deux est de 5 minutes