Dans ASP.NET, une session est pour le navigateur. Mais comment puis-je créer une session pour un onglet?Session pour un onglet dans ASP.NET
Répondre
Utilisez les éléments suivants:
<configuration>
<system.web>
<sessionState cookieless="true"
regenerateExpiredSessionId="true" />
</system.web>
</configuration>
ASP.NET maintient la session cookieless état en insérant automatiquement un identifiant de session unique sur l'URL de la page. Par exemple, l'URL suivante a été modifié par ASP.NET pour inclure la session ID unique lit3py55t21z5v55vlm25s55:
http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/orderform.aspx
Lorsque ASP.NET envoie une page au navigateur , il modifie les liens Dans la page , en utilisant un chemin d'accès relatif à l'application en intégrant une valeur d'ID de session dans les liens. (Les liens avec les chemins absolus ne sont pas modifiés.) L'état de session est maintenu tant que l'utilisateur clique sur les liens qui ont été modifiés de cette manière. Toutefois, si le client réécrit une URL fournie par l'application , ASP.NET peut ne pas pouvoir résoudre l'ID de session et associer la demande à une session existante. Dans ce cas, une nouvelle session est démarrée pour la demande.
Donc tout ce que vous avez besoin d'ouvrir une nouvelle session pour nouvel onglet est d'ouvrir une URL sans identifiant de session.
EDIT:
Et comme d'autres utilisateurs l'ont mentionné, vous devriez prendre soin de ce 'kung-fu'. Si vous stockez des informations sensibles à l'utilisateur dans la session, veuillez indiquer secure your authentification cookies. Et sachez que lorsque vous utiliserez une clé de session dans une URL, les utilisateurs peuvent la copier et l'envoyer à quelques amis. Et cet utilisateur et ses amis partageront la session unique (ce sera une grande fonctionnalité! :)). Pour éviter cela, vous pouvez effectuer les opérations suivantes:
1. Ajouter une association à l'utilisateur (profil de l'utilisateur, stocker dans la base de données) dans la méthode onSessionStart et la vérifier sur BeginRequest.
2. Cochez la case referrer et créez une nouvelle session (rediriger vers une URL sans session) lorsque le référent est vide ou non égal au domaine actuel (mais sachez que le référentiel peut être défini manuellement)
3. Réécriture de la génération de l'ID de session et de l'associé avec le nom d'utilisateur et ip/mac (xor ou quelque chose comme ça). Et vérifiez cela sur la scène lorsque la session est prise en charge.
4. Autre chose pour rendre cette clé de session valide uniquement pour l'utilisateur actuel.
Le cookie de session est stocké dans un stockage volatile accessible à cette instance du navigateur. Vous auriez besoin d'un navigateur qui supporte le concept que vous recherchez, aucun navigateur n'existe à ma connaissance.
Dans ASP.NET, vous pouvez maintenir une session sans utiliser de cookie de session, c'est vraiment moche et je ne le recommanderais pas mais cela pourrait vous permettre d'atteindre votre objectif.
@Downvoter: Veuillez expliquer? – AnthonyWJones
- 1. IIS 5 session et Asp.Net session de
- 2. ASP.NET Multi Session
- 3. Session dans Asp.net
- 4. ouvrir le lien dans un nouvel onglet pour le ImageButton dans asp.net
- 5. Puis-je créer un onglet pour moi dans jquery?
- 6. Pourquoi ne pas fermer un onglet Supprimer un cookie de session?
- 7. gestion de session asp.net
- 8. session en asp.net mvc
- 9. Session Timeout ASP.Net
- 10. Ouvrir un nouvel onglet
- 11. ASP.NET MVC Session Etat
- 12. Comment utiliser l'état de session ASP.NET dans un HttpHandler?
- 13. ASP.NET supprimant un élément de Session?
- 14. Problèmes de session ASP.NET
- 15. Mettre un objet en session via une propriété dans ASP.NET
- 16. Fin de session dans ASP.net MVC
- 17. Gestion de session utilisateur dans asp.net
- 18. Gestion de session FluentNHibernate dans ASP.NET
- 19. asp.net session timeout
- 20. session en asp.net
- 21. Comment spécifier un onglet dans .screenrc?
- 22. Comment utiliser un widget onglet dans Android?
- 23. Ouvrir un élément ASP.NET GridView dans une nouvelle page ou un nouvel onglet - comment?
- 24. Perte d'ID de session dans ASP.NET
- 25. comment utiliser session ASP.NET dans WCF?
- 26. ASP.NET: Variable de session d'accès dans global.asax
- 27. pourquoi la session est inattendue dans asp.net?
- 28. Comment résoudre une session fixée dans asp.net?
- 29. Mettre à jour un onglet à partir d'un autre onglet?
- 30. Onglet Auto dans JQuery
Utiliser des sessions sans cookie introduit un problème de sécurité vraiment terrible, je ne pense pas qu'il devrait jamais être utilisé. – meandmycode
Pas très facile, beaucoup plus difficile .. sessions cookieless endommager les URL du site, et pire les clients ne se rendent pas compte que s'ils copient et collent l'url .. ils donnent leur session .. quelque chose qui n'arrive pas avec des sessions normales .. comme les utilisateurs ne peuvent pas donner par ignorance leurs valeurs de cookie .. les causes les plus probables de voler des sessions est via XSS sur le site. – meandmycode
Est-ce difficile d'ajouter une certaine association à l'utilisateur dans la méthode onSessionStart? Est-ce difficile de vérifier le référent et de créer une nouvelle session lorsque le référent est vide ou n'est pas égal au domaine actuel? Est-ce difficile de réécrire la génération de l'identifiant de session et de l'associer au nom d'utilisateur et à l'ip/mac? Il y a beaucoup de façons de corriger les cas lorsque les utilisateurs copient et donnent le lien à quelqu'un. Nous pouvons toujours ajouter un gros bouton brillant "copier l'URL actuelle dans le tampon". A propos de XSS, il me semble que vous en savez un peu. Lorsque vous avez un trou XSS, TOUS les cookies peuvent être volés. Vous devriez faire beaucoup plus attention aux cookies auth. – zihotki