Session.Clear () et Session.Abandon () se débarrassent des variables de session. Si je comprends bien, Abandon () met fin à la session en cours et provoque la création d'une nouvelle session, provoquant ainsi le déclenchement des événements End et Start.
Il semble préférable d'appeler Abandon () dans la plupart des cas, comme la déconnexion d'un utilisateur. Y a-t-il des scénarios dans lesquels j'utiliserais Clear () à la place? Y a-t-il une grande différence de performance?
la source
Session.Abandon()
comme `` déconnexion '' sur une application interne à l'aide de l'authentification Windows - les utilisateurs n'avaient pas à se réauthentifier (Chrome, FF), mais la session supprimée et une nouvelle émise, ce qui répondait à mes exigencesUtiliser uniquement Session.Clear () lorsqu'un utilisateur se déconnecte peut poser une faille de sécurité. Comme la session est toujours valide en ce qui concerne le serveur Web. Il est alors une question raisonnablement triviale de renifler, de saisir l'ID de session et de détourner cette session.
Pour cette raison, lors de la déconnexion d'un utilisateur, il serait plus sûr et plus judicieux d'utiliser Session.Abandon () pour que la session soit détruite et qu'une nouvelle session soit créée (même si la page d'interface utilisateur de déconnexion ferait partie de la nouvelle session, la nouvelle session ne contiendrait aucun des détails de l'utilisateur et le détournement de la nouvelle session équivaudrait à avoir une nouvelle session, donc elle serait muette).
la source
Session.Abandon
détruit la session comme indiqué ci-dessus, vous devez donc l'utiliser lors de la déconnexion de quelqu'un. Je pense qu'une bonne utilisation deSession.Clear
serait pour un panier sur un site de commerce électronique. De cette façon, le panier est effacé sans déconnecter l'utilisateur.la source
Session.Abandon
simplement pour effacer un panier spécifique?J'ai eu ce problème et j'ai essayé les deux, mais j'ai dû me contenter de supprimer des conneries comme "pageEditState", mais de ne pas supprimer les informations utilisateur de peur que je doive le rechercher à nouveau.
la source