web-dev-qa-db-fra.com

Comment définir le délai d'expiration de la session dans web.config

J'ai beaucoup essayé, mais je ne trouve pas de solution pour définir la valeur du délai d'expiration de session pour la session en cours d'une application Web ASP.Net.

J'utilise VSTS 2008 + .Net 3.5 + C #. Voici ce que j'ai écrit moi-même pour régler le délai d'attente sur 1 minute, est-ce correct?

J'ai écrit dans la section system.web du web.config

<sessionState timeout="1" mode="InProc" />
165
George2

Si vous souhaitez définir le délai d'attente sur 20 minutes, utilisez l'une des méthodes suivantes:

    <configuration>
      <system.web>
         <sessionState timeout="20"></sessionState>
      </system.web>
    </configuration>
304
Wolfwyrd

La valeur que vous définissez dans l'attribut timeout est l'un des moyens permettant de définir la valeur du délai d'expiration de la session.

L'attribut timeout spécifie le nombre de minutes pendant lesquelles une session peut être inactive avant d'être abandonnée. La valeur par défaut pour cet attribut est 20.

En attribuant une valeur de 1 à cet attribut, vous définissez la session à abandonner dans la minute qui suit son inactivité.

Pour tester cela, créez une page aspx simple et écrivez ce code dans l'événement Page_Load,

Response.Write(Session.SessionID);

Ouvrez un navigateur et accédez à cette page. Un identifiant de session sera imprimé. Attendez une minute, puis cliquez sur Actualiser. L'identifiant de session va changer.

Maintenant, si ma supposition est correcte, vous voulez que vos utilisateurs se déconnectent dès que la session a expiré. Pour ce faire, vous pouvez configurer une page de connexion qui vérifie les informations d'identification de l'utilisateur et créer une variable de session comme celle-ci -

Session["UserId"] = 1;

Maintenant, vous devrez vérifier chaque page pour cette variable comme ceci -

if(Session["UserId"] == null)
    Response.Redirect("login.aspx");

Ceci est un exemple simple de la façon dont cela fonctionnera.

Toutefois, pour rendre vos applications sécurisées de qualité production, utilisez les classes Roles & Membership fournies par ASP.NET. Ils fournissent une authentification basée sur les formulaires qui est beaucoup plus fiable que l’authentification normale que vous essayez d’utiliser.

48
Kirtan

Utilisez ceci dans web.config:

<sessionState 

  timeout="20" 
/>
0
Balaji Birajdar