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 MVC Discussion :

Modules d'authentification utilisateurs [Débutant]


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut Modules d'authentification utilisateurs
    Bonjour,

    Je réalise une application web en mvc pour une entreprise.
    Pour accéder à l'application, l'utilisateur doit s'être authentifié par l'un des deux moyens :
    - soit en utilisant ses identifiants de l'intranet de l'entreprise (je fais alors appel au CAS intranet de l'entreprise depuis une page Login.aspx)
    - soit en "bypassant" ce CAS et en s'identifiant directement auprès de la BDD de l'application. En rajoutant un paramètre dans l'url (?bypass=1) on fait appel à controller qui affiche une vue demandant le login et mdp de l'utilisateur.

    Ces deux modes d'authentification fonctionnent très bien séparément, tant que je ne demande pas une authentification obligatoire.

    Pour obliger l'authentification lors de l'accès à n'importe quelle page de l'appli, j'ai ajouté dans le web.config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        <authentication mode="Forms">
          <forms loginUrl="Login.aspx" timeout="2880" />
        </authentication>  
        <authorization>
          <deny users="?" />
          <allow users="*" />
        </authorization>
    Seulement voila, les utilisateurs sont obligés de s'identifier depuis la page Login.apsx (donc depuis le CAS intranet), et je n'ai plus accès à la page de login bypass puisque je ne suis pas identifiée.

    Si j'autorise l'accès à la page bypass pour les utilisateurs non authentifiés, comme ce mode d'authentification n'apparait pas dans <authentification>, l'utilisateur n'est pas détecté comme authentifié, donc je suis redirigée vers la page Login.aspx, et je tourne en rond...

    Y'a-t-il un moyen de déclarer 2 modes d'authentification différent ?
    Ou bien de changer le web.config ? lorsque l'utilisateur passe en paramètre d'url "?bypass=1", changer le web.config pour mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        <authentication mode="Forms">
          <forms loginUrl="/Bypass" timeout="2880" />
        </authentication>
    Je vous remercie par avance pour votre aide sur ce problème qui me prend la tête depuis plusieurs jours

  2. #2
    Membre chevronné

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Par défaut
    Hello,

    As-tu essayé d'utiliser les attributs fournis par le Framework (AuthorizeAttribute) et applicables aux contrôleurs et aux méthodes des contrôleurs MVC ?

    Pour ma part je me suis basée sur ce qui est dit dans ce blog : http://blogs.msdn.com/b/rickandy/arc...plication.aspx

    Si tu as quelques difficultés à le mettre en place n'hésite pas à poser des questions complémentaires

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut Solution
    Bonjour,
    Merci pour ta réponse plume13

    Après pas mal de recherches vers la piste que tu proposais, j'ai résolu mon problème en autorisant l'accès à la page de bypass aux utilisateurs anonymes :
    ajout de paramètres spéciaux dans le web.config pour la page concernée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <authorization>
    <allow users="*" />
    </authorization>
    et créant des cookies d'authentification, afin qu'un utilisateur souhaitant de connecter en "bypassant" le CAS intranet soit reconnu comme authentifié.

    Et tout fonctionne...

  4. #4
    Membre chevronné

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Par défaut
    Contente que cela fonctionne en utilisant le web.config. J'attire cependant ton attention sur le fait que ce n'est pas adapté au MVC.
    En re-parcourant le blog cité plus haut je suis tombée sur ça (l'explication du pourquoi est plus complète que sur le premier lien donné) :

    You cannot use routing or web.config files to secure your MVC application. The only supported way to secure your MVC application is to apply the Authorize attribute to each controller and use the new AllowAnonymous attribute on the login and register actions. Making security decisions based on the current area is a Very Bad Thing and will open your application to vulnerabilities.

    Web.config-based security should never be used in an MVC application. The reason for this is that multiple URLs can potentially hit a controller, and putting these checks in Web.config invariably misses something.

    There is a fundamental difference in protected resources between WebForms and MVC. In WebForms, the resources you're trying to protect are the pages themselves, and since the pages exist on disk at a well-known path you can use Web.config to secure them. However, in MVC, the resources you're trying to protect are actually controllers and actions, not individual paths and pages. If you try protecting the path rather than the controller, your application likely has a security vulnerability.
    Je te conseille donc de bien peser le pour et le contre...

  5. #5
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 3
    Par défaut
    Merci beaucoup pour ces informations !
    Je vais effectivement regarder cela d'un peu plus près.
    Encore merci pour ton aide !

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

Discussions similaires

  1. [Sécurité] Authentification utilisateur sur site
    Par Badaboumpanpan dans le forum Langage
    Réponses: 2
    Dernier message: 04/07/2006, 11h57
  2. Module d'authentification Apache
    Par webrider dans le forum Apache
    Réponses: 6
    Dernier message: 27/06/2006, 18h20
  3. Problème authentification utilisateurs.
    Par Mevil dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 02/06/2006, 09h04
  4. module d'authentification & d'autorisation
    Par yanis97 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/01/2006, 19h20
  5. [JAAS]Module d'authentification
    Par yanis97 dans le forum Sécurité
    Réponses: 3
    Dernier message: 10/07/2005, 19h20

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