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 :

Sécuriser authentification par formulaire Active Directory


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Par défaut Sécuriser authentification par formulaire Active Directory
    Bonsoir à tous,

    je suis en train de développer une application web en ASP .Net Core MVC avec laquelle je souhaite mettre en place une authentification par formulaire (ou autre mais pour le moment je n'ai pas trouvé ce que je veux).

    Pourquoi par formulaire?
    car je ne veux pas connecter l'utilisateur en cours et je ne veux pas faire d'impersonation, l'application va se connecter à un active directory et avoir accès en lecture écriture aux utilisateurs etc... d'où ma volonté de passer un par un formalaire.

    Parti de là, j'ai créé mon formulaire, tout fonctionne correctement, sauf que le mot de passe s'affiche en clair en paramètres dans l'URL ce qui ne me convient pas du tout.
    j'ai cherché un peu du côté du chiffrement de données dans l'url, mais ça ne semble pas prescrit, à partir du moment où veut mettre l'accent sur la sécurité.

    Pour ma connexion AD, j'utilise l'assembly Directory Service dans laquelle je précise mon user et mot de passe.

    J'ai vu qu'identity existait, mais semble ne proposer qu'une authentification vers du facebook etc... ou de l'AD azure, ce dont je ne dispose pas (je dispose d'un AD en local).

    Donc voilà, si une bonne âme a une idée à m'apporter car je coince et je souhaiterais vraiment que cette application soit plus sécurisée.

    Merci d'avance,

    bonne soirée

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Par défaut
    je m'aperçois que j'ai oublié de préciser, presque le plus important quant à mon problème...

    mon formulaire où je saisi mes identifiants est en POST et la méthode appelée dans mon contrôleur pour vérifier les identifiants dispose bien de la "balise" [HttpPost] avant sa déclaration:

    code du formulaire:
    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
    <form asp-action="Login" method="post">
                        <div class="input-group mb-3">
                            <input asp-for="user" class="form-control" placeholder="Nom d'utilisateur">
                            <div class="input-group-append">
                                <div class="input-group-text">
                                    <span class="fas fa-envelope"></span>
                                </div>
                            </div>
                        </div>
                        <div class="input-group mb-3">
                            <input type="password" asp-for="password" class="form-control" placeholder="Mot de passe">
                            <div class="input-group-append">
                                <div class="input-group-text">
                                    <span class="fas fa-lock"></span>
                                </div>
                            </div>
                        </div>
                        <div class="row">
     
                            <!-- /.col -->
                            <div class="col-6">
                                <button type="submit" class="btn btn-primary btn-block">Se Connecter</button>
                            </div>
                            <!-- /.col -->
                        </div>
                        <div class="form-group row">
                            <div class="offset-4 col-8">
                                <label class="col-8 col-form-label">@ViewBag.loginresult</label>
     
                            </div>
                        </div>
                    </form>
    code de la méthode dans mon contrôlleur:
    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
     
    [HttpPost]
             public ActionResult Login(Login creds)
             {
     
                 var Logon = new DirectoryEntry("LDAP://serveurAD", creds.user, creds.password);
                 try
                 {
                     Logon.RefreshCache(); 
     
                     creds.usr = Base64UrlEncoder.Encode(creds.user);
                     creds.pass = Base64UrlEncoder.Encode(creds.password);
                    //debug
                    ViewBag.loginresult = "Connection OK";
     
                     return RedirectToAction("Dashboard","Dashboard",new { creds.usr, creds.pass });
                 }
                 catch (COMException ex)
                 {
                    //debug
                    ViewBag.loginresult = "Connection KO";
                }
                 return this.View() ;     
             }
    merci à vous

  3. #3
    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
    Citation Envoyé par Fabien25C Voir le message
    car je ne veux pas connecter l'utilisateur en cours et je ne veux pas faire d'impersonation, l'application va se connecter à un active directory et avoir accès en lecture écriture aux utilisateurs etc... d'où ma volonté de passer un par un formalaire.
    Cette phrase est contradictoire. Il est obligatoire de s'identifier pour pouvoir acceder aux infos de l'AD sauf si tu as active l'acces anonyme… Mais meme l'acces anonyme utilise un login specifique.

    Peux-tu preciser ton scenario STP ?
    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.

Discussions similaires

  1. Authentification SASL sur Active Directory
    Par Zelltemplar dans le forum Administration système
    Réponses: 3
    Dernier message: 14/09/2012, 12h11
  2. Authentification par formulaire + Active Directory
    Par Esus13092004 dans le forum SharePoint
    Réponses: 4
    Dernier message: 18/03/2009, 18h46
  3. authentification iss page active directory
    Par maatthieu dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 05/09/2006, 21h11
  4. Réponses: 3
    Dernier message: 14/03/2006, 11h38
  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