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 :

authentification par formulaire type utilisateur multiple


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut authentification par formulaire type utilisateur multiple
    Je vous explique ma situation.
    J'ai déjà une authentification par formulaire avec une Bd SQL d'impléter mais je voudrais que selon un type d'utilisateur dans ma Bd que je redirige cette personne dans une certaine partie du site. Ce n'est pas la partie la plus complexe de la chose.

    Le gros de l'affaire c'est que je ne veux pas qu'une personne s'authentifie disons en utilisateur restreint et puisqu'il est authentifié puisse se rendre dans une partie réservé a un utilisateur plus élevé en connaissant par hasard comme ca l'adresse de la page pour s'y rendre.

    Donc est-ce possible d'ajouter dans le haut de mes pages quelque chose qui vérifierais le type d'utilisateur qui tente d'accéder à la page en question et si c'est ne pas avecun droit suffisant de lui retourner un message d'erreur ou peu importe.

    Merci d'avance pour votre aide.

  2. #2
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut
    Alors on va commencer apr reprendre quelques détails :

    - d'abords, la notin de "haut de page" n'existe plus en .NET.
    Ici on va parler du PageLoad, le plus courant, mais y en a d'autre.

    - ensuite, il faudrait que tu nous décrive un peu plus ta gestion d'utilisateur et de droits. As tu implémenté le Membership ?

    - enfin, oui, il est possible de faire ce que tu dis, il est même possible de faire plein de chose. As tu utilisé les Masterpage ? Parce que avec ça, tu t'emmerde plus à gérer toutes les apge. Tu fais une grosse fonction dans le Page Load de la MasterPage et hop, ça gère tout.

    Donc, plus de détail pour une réponse plus précise.

    Kenavo

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    Bon ok pour ce qui est du haut de page c'est ok je connais le page load même si je suis très débutant dans ce language.

    Pour ce qui est de la gestion des utilisateurs, j'ai mon user et password (crypter MD5) dans une BD SQL Server 2000. J'ai également un champ dans cette table pour donner un type à l'utilisateur comme ADM par exemple. J'ai fait une function au pageload de ma page d'authentification qui vérifie si le combo user et password sont bon et si oui l'utilisateur est rediriger vers la page demandé au départ ou la page d'accueil par défaut. Alors je pourrais aller vérifier mon type d'utilisateur et le renvoyer vers une page en particulier sans problème rendu ici mais le problème c'es que je veux être certain que personne n'ayant pas des droits suffisants puisse se rendre dans des pages auxquelles il n'a pas droit.

    Le membership et le masterpage je ne sais pas c'est quoi.

    Merci de votre aide

  4. #4
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut
    Evacuons les détails facile :
    - le MemberShip c'est un truc mis en place avec le FrameWork 2.0 our gérer les utilisateurs et les droits d'accès. ça t'offre des controle tout prêt fait pour créer des utilisateurs, gérer les rôles et les règles de sécurité. Tu tappe MemberShip dans GOOGLE et tu suis les infos, c'est assez simple à mettre en place.
    - la MasterPage c'est aussi un truc du FrameWork 2.0. C'est une sorte de gabarit de page que fabrique. ça te permet de gérer facilement l'ergonomie de ton site sans refaire à chaque fois les morceaux de code pour faire la présentation.L'avantage c'est que c'est présent dans chacune de tes apge, donc tout ce que tu mets dans la MAsterPage est disponible dans la page. Pareil, tape MAsterPage dans GOOGLE et tu auras tout ce qu'il te faut.

    Ensuite voyons ton souci : paratnt du principe que tu a mis en palce un fonction qui renvoi ton utilisateur s'il n'est pas connecté, ben c'est avec celle là que tu pourras tester son type. Ensuite tu fais un Select Case sur le différents type et tu le renvoi à l'endroit que veux sur chaque Case.

    Mais moi j'utiliserais le MemberShip, aprce que ça répond pile poil à ce dont tu as besoinss. Une fois que tu auras chercher des infos dessus, tu verra que tu sera ravi.

    Par contre, il faut que tu dispose du FrameWork 2.0 sur ta machine de développement et sur le serveur de ton site, sinon, ça marche pas.

    Kenavo

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    Le problème est que justement je dois travailler avec visual studio 2003 et je avec le framework 1. ???? et non pas le 2.0 malheureusement.

    Je me suis fait une fonction "authentifier" qui dans le moment peu importe le type d'utilisateur nous renvoi à lapage demandé ou la page par défaut qui est l'accueil.

    Public Sub verifAuth(ByVal sender As Object, ByVal args As EventArgs)
    If authentifier(txtUtilisateur.Text, txtMotDePasse.Text) <> "" Then
    System.Web.Security.FormsAuthentication.RedirectFromLoginPage(txtUtilisateur.Text, False)
    Else
    lblMessage.Text = "L'authentification à échoué. Vérifier votre utilisateur et mot de passe et réessayez."
    End If
    End Sub

    Donc est-ce que je pourrais pas me créer une variable de session ou je ne sais pas trop quelque chose du genre que je pourrais récupérer dans le page load de mes pages pour me permettre de m'assurer que la personne qui essaie d'accéder à cette page à le droit ?

  6. #6
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut
    C'est génial, tu répond toi même à ta question.
    Oui, compte tenu des contraintes que tu as, c'est la meileure solution qu'il te reste.

    Kenavo

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 36
    Points
    36
    Par défaut
    Ok je viens de fouiller un peu pour ce qui est des variables de sessions en asp.net et je vais faire quelque chose du genre ...

    Me faire une classe pour gérer mes variable de session ...

    Public Shared Property NomUtilisateur as String
    Get
    Return HttpContext.Current.Session("NomUtilisateur")
    End Get
    Set(value as String)
    HttpContext.Current.Session("NomUtilisateur") = value
    End Set
    End Property

    Et me faire une fonction pour accéder à ça.

    Je crois que ça devrait faire le travail. :-)


  8. #8
    Membre extrêmement actif
    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 : 54
    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
    Points : 1 434
    Points
    1 434
    Par défaut
    Oui, ça peut être une bonne idée.
    Mais pourquoi ne mets tu pas simplement le login ou l'id de l'utilisateur dans une variable de sesssion, tout simple.
    Ensuite, tu reprend ta fonction de base avec cette variable de session comme paramettre et tu fais ta vérification en base. En fonction du résultat de l'extraction de données, tu redirige vers le bon endroit.

    Comme dirait l'autre, pour faire simple quand on peut faire compliqué.

    Kenavo

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2010, 16h03
  2. Authentification par formulaire
    Par IcedLand dans le forum ASP.NET
    Réponses: 17
    Dernier message: 20/07/2009, 15h38
  3. Réponses: 2
    Dernier message: 09/03/2009, 16h54
  4. Réponses: 2
    Dernier message: 24/02/2009, 15h20
  5. [1.1] Authentification par formulaire
    Par kakek dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/05/2005, 09h37

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