IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

ASP 4.0 : Authentification / Login persitant + Variables de Session : comment faire ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Par défaut ASP 4.0 : Authentification / Login persitant + Variables de Session : comment faire ?
    Bonjour à tous,

    Pour faciliter la vie à mes utilisateurs, je souhaite créer un login persistant.

    Comme sur Facebook par exemple : quand vous arrivez sur le site, vous êtes automatiquement connecté si vous étiez déjà connecté.

    Après quelques requêtes sur google, j’ai trouvé quelques truc :
    Un checkbox RememberMe, que l’on utilise dans le code behind avec la fonction RedirectFromLoginPage.

    Code ASP : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:CheckBox ID="RememberMe" runat="server"/>

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    FormsAuthentication.RedirectFromLoginPage(c.nomClient, RememberMe.Checked);

    Cela fonctionne mais du coup, mon problème est plutôt dans la restauration des variables de session.

    Quand j’arrive sur une page sans passer par l’authentification (car je suis déjà authentifié) : mes variables de session ne sont plus en mémoire sur le serveur… Il y a-t-il un moyen de les faires persister elles aussi ? Ou peut-on les stocker dans les cookies du navigateur ? Bref quelle est la meilleure méthode ?

    Je cherche donc des tutoriaux ou des exemples pour faire cela en ASP 4.0.

    Merci d’avance pour vos conseils.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Pour faire ce que tu veux, je pense qu'il vaut mieux regarder du côté de la sérialisation dans une base de données, ou dans un fichier XML.

    Scénario pour l'exemple :

    Tu as un utilisateur qui s'identifie, dans sa session il a 2 variables A et B. Pour persister ces infos et les retrouver lorsqu'il reviendra, tu peux les stocker dans une base de données ou dans un fichier XML.

    Lorsque l'utilisateur revient, il te suffira de récupérer l'ID de ton utilisateur, et d'aller récupérer les variables A et B qui ont été sauvegardées lors de la dernière visite.

    A mon sens, il vaut mieux ne pas stocker tout ça dans un cookie, car si l'utilisateur supprime ses cookies, les informations seront perdues...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    Il faut bien prendre conscience que les données que tu souhaites sauvegarder ne sont pas faites 'logiquement" pour rester persistantes, principe d'une SESSION.

    Maintenant tu peux également jouer sur ton cookie justement. Lui vu que tu arrives à le récupérer tu peux très bien y stocker une donnée qui lorsque l'utilisateur repasse dans la procédure d'authentification, recrée les variables de SESSION adéquates. Maintenant tout dépend des valeurs que tu stockes en SESSION et si elles sont déductibles avec un minimum de données.

  4. #4
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Sur une application développée il y a quelques années, nous avions un peu ce principe.
    Tu enregistres un cookie avec un minimum d'information (un identifiant, une date de dernière visite, etc)
    Tu enregistres en base de données les informations que tu souhaites restituer au retour de l'utilisateur.

    Le tout est de bien réfléchir aux informations à enregistrer et à quels moments les sauvegarder et mettre à jour en base pour ne pas faire trop d'accès à la BDD.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 163
    Par défaut
    Citation Envoyé par D4rkTiger Voir le message
    Maintenant tu peux également jouer sur ton cookie justement. Lui vu que tu arrives à le récupérer tu peux très bien y stocker une donnée qui lorsque l'utilisateur repasse dans la procédure d'authentification, recrée les variables de SESSION adéquates. Maintenant tout dépend des valeurs que tu stockes en SESSION et si elles sont déductibles avec un minimum de données.
    C'est ce que j'ai fait : à l’authentification, j'ai crypté des identifiants uniques propres à l'utilisateur et stocké ceci en cookie.

    Ensuite, dans la page "master", sur l'event page_init, si on n'est pas connecté, je regarde cookie et je charge les valeurs en session.

    Merci à vous !

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 127
    Par défaut
    Du coup, ton problème est


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/10/2009, 17h56
  2. Réponses: 8
    Dernier message: 06/02/2006, 16h38
  3. [C#] Authentification login/password
    Par liliprog dans le forum ASP.NET
    Réponses: 14
    Dernier message: 26/08/2005, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo