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 :

Session ASP.NET tiré d'une table


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut Session ASP.NET tiré d'une table
    Bonjour,
    je cherche à mettre en place un système de session. Les mots de passe et les noms d'utilisateurs sont tirés d'une table dans ma base de donnée.

    J'aimerais un système de session classque mais aussi compliqué que dans les bouquins mais je n'ai pas d'idée pour bloquer l'accès aux pages webs...
    En php c'est tellement facile :
    1ere ligne : si session ok alors on affiche sinon on redirige... mais en .det je ne vois pas...


    Merci par avance pour vos réponses.
    Cordialement,
    Tid.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Si tu veux faire ça proprement, regardes du côté du MemberShipProvider

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    La comparaison avec un langage aussi amateur que le PHP me fait mal aux yeux, rhamlala, c'est vrai que tout est si simple en PHP, mais pourquoi on se fait chier à faire du .NET ou du J2EE

    Alors peut être parce que en .NET on a le MemberShip qui le système ultime de gestion de la sécurité des utilisateurs que l'on ne peut pas cracker (enfin personne n'a réussi pour l'instant)

    Donc, pour étendre un peu plus ce que LutceFalco, et parce que je suis un peu à fond dedans.
    Le MemberShip se met en place avec un utilitaire et nécessite un base SQL Server (enfin, c'est mieu)
    Ensuite cela te permet d'accéder à des contrôles tout fait pour gérer l'inscription, la connexion et l'état de la session de l'utilisateur

    Chaque contrôle est personalisable à mort.

    Enfin, le cryptage MD5 est inclu et optionnel.
    Dernier détail : regarde MemberShip et pas MemberShipProvider car ceci est le Provider à déclarer dans le Web.Config

    Et dans la FAQ il y a le départ de la bestiole.

    Voilà, tu fais tout ça en une seule ligne ne PHP ?

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Le MemberShip se base par défaut sur SQL Server, mais tu peux tout à fait changer ça (Access, XML, WebService...)

  5. #5
    Membre éclairé
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    311
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 311
    Par défaut
    Salut,
    tout d'abord merci pour vos réponses.
    Après avoir trouvé de la doc sur la question et avoir constaté que membership semblait hardcore à utiliser... j'ai tenté ça :
    - utilisation de webconfig pour autorisation et deny user = '?'...
    - dans la page connexion.aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim t As New Hashtable
     
            Dim cn As SqlConnection
            Dim cmd As New SqlCommand
     
            cn = New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("cn"))
            'ouverture du connecteur
            cn.Open()
            cmd.Connection = cn
     
            cmd = New SqlCommand("utilisateurVerif", cn)
            cmd.CommandType = CommandType.StoredProcedure
            Dim dr As SqlDataReader = cmd.ExecuteReader
            While dr.Read    'pour chaque utilisateur trouvé dans la base,
     
                t(dr(0)) = dr(1)
     
            End While
            dr.Close()
            cn.Close()
            'fermeture du connecteur
            Dim utilisateur As New UTILISATEUR
            If t(txtUtilisateur.Text) IsNot Nothing AndAlso t(txtUtilisateur.Text).ToString() = txtMotDepasse.Text Then
                'on  met les variables de session qui nous intéressent
                Session("login") = txtUtilisateur.Text
                Session("nomPersonne") = utilisateur.nomPersonne(txtUtilisateur.Text)
                Session("prenomPersonne") = utilisateur.prenomPersonne(txtUtilisateur.Text)
                Session("idPersonne") = utilisateur.idPersonne(txtUtilisateur.Text)
                Session("idUtilisateur") = utilisateur.idUtilisateur(txtUtilisateur.Text)
                FormsAuthentication.RedirectFromLoginPage(txtUtilisateur.Text, False)
            Else : lblErreur.Text = "Erreur de connexion. Veuillez recommencer"
            End If
        End Sub
    ça semble marcher, c'est même assez casse pied pour tester le site tant qu'il n'est pas achevé
    Mais est ce vraiment 'safe'...?

    @+,
    Tid.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Par défaut
    Oui c'est safe, pour peu que tu comprenne ce que tu fais et comment ca marche.

    C'est souvent le souci pour les histoires de membership, c'est une super machine de guerre alors on l'utilise mais on pige rien, alors ca marche pas et ca sert a rien.

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

Discussions similaires

  1. [asp.net.c#] Envoyer une Table dynamique par mail
    Par steuve dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/04/2009, 13h57
  2. Réponses: 2
    Dernier message: 14/02/2007, 11h34
  3. [VB.NET] création d'une table dans une base access
    Par smedini dans le forum Accès aux données
    Réponses: 1
    Dernier message: 31/12/2005, 11h53
  4. Réponses: 5
    Dernier message: 29/09/2005, 09h35
  5. [VB.NET] Copie d'une table d'une DB vers une autre
    Par SergeF dans le forum Windows Forms
    Réponses: 9
    Dernier message: 20/11/2004, 09h54

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