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 :

ASP MVC 4.0 page écran de connexion active directory [Débutant]


Sujet :

ASP.NET MVC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut ASP MVC 4.0 page écran de connexion active directory
    Bonjour,

    je souhaiterai dans mon projet ASP.NET MVC 4 sous VisualStudio 2013 pro ajouter un formulaire de connexion basé sur notre LDAP. Seulement je ne voit pas comment faire. Il y a un template pour windows authentication mais cela ne m'intéresse pas.
    Je veux pouvoir avoir une page ou l'utilisateur doit entrer lui même son identifiant et mot de passe active directory. Une fois fait alors je peux faire une requête dans ma DB pour récupérer son OU et différente info que j ai dans une table.
    j'ai bien tenté Google mais je n'ai rien sur MVC 4 et encore moins ce que je veux.

    D'avance je vous dit merci.

  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
    Si tu veux utiliser le provider Windows par defaut, le scenario est le suivant :
    - Si ton utilisateur est sur le reseau local et/ou sur une session du domaine, alors authentification automatique (pas besoin de saisir les identifiants).
    - Si ton utilisateur est en-dehors du reau et/ou sur une session hors du domaine, alors une fenetre modale s'affiche pour demander les identifiants.


    Si tu veux afficher une page quelle que soit la situation ci-dessus, alors il faut developper ton propre systeme d'authentification qui va aller taper dans le LDAP. Je te deconseille fortement cette option vu que tu es debutant et que la moindre chose que tu oublies de faire/prendre en compte peut potentiellement etre une faille de securite, et rendre ton application vulnerable. Les protocoles d'authentification ne sont pas une mince affaire, meme quand on a de l'experience.
    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 très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Bonjour à toi,

    j'ai solutionner mon problème de cette manière :

    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
    Imports System.ComponentModel.DataAnnotations
     
    Public Class Login
     
        <Required>
        <Display(Name:="Identifiant Windows")>
        Public Property UserName As String
     
        <Required>
        <DataType(DataType.Password)>
        <Display(Name:="Mot de passe")>
        Public Property Password As String
     
        <Display(name:="Se souvenir de moi ?")>
        Public Property RememberMe As Boolean
     
        '"LDAP://Tournai.be" '& System.Configuration.ConfigurationManager.AppSettings("domainName")
    End Class
    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
    36
    37
    38
    39
    40
    41
    Imports System.Web.Mvc
     
    Namespace Controllers
        Public Class AccountController
            Inherits Controller
     
            Private context As FicheBudgetaireContext = New FicheBudgetaireContext
     
            ' GET: Login
            Function Login() As ActionResult
                Return View()
            End Function
     
            <HttpPost>
            Public Function Login(Logg As Login, returnUrl As String) As ActionResult
                If Not ModelState.IsValid Then
                    Return View(Logg)
                End If
     
                If Membership.ValidateUser(Logg.UserName, Logg.Password) Then
                    FormsAuthentication.SetAuthCookie(Logg.UserName, Logg.RememberMe)
                    Session("isAuth") = True
                    Session("CurrentUser") = context.Utilisateur.FirstOrDefault(Function(x) x.LogonName = Logg.UserName)
                    Return RedirectToAction("Index", "Fiches")
                End If
     
                ModelState.AddModelError(String.Empty, "Le nom d'utilisateur et/ou mot  de passe est/sont incorrect.")
                Return View(Logg)
            End Function
     
            Public Function Deconnect() As ActionResult
                If CBool(Session("isAuth")) Then
                    FormsAuthentication.SignOut()
                    Session("isAuth") = False
                    Return RedirectToAction("Login", "Account")
                End If
     
                Return View()
            End Function
        End Class
    End Namespace
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    @ModelType Fiche_Budgetaire.Login
    @Code
        ViewData("Title") = "Connexion"
    End Code
     
    <h2>Demande de budget</h2>
     
    @Using (Html.BeginForm()) 
        @Html.AntiForgeryToken()
     
        @<div class="form-horizontal">
            <h4>Login</h4>
            <hr />
            @Html.ValidationSummary(True, "", New With { .class = "text-danger" })
            <div class="form-group">
                @Html.LabelFor(Function(model) model.UserName, htmlAttributes:= New With { .class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(Function(model) model.UserName, New With { .htmlAttributes = New With { .class = "form-control" } })
                    @Html.ValidationMessageFor(Function(model) model.UserName, "", New With { .class = "text-danger" })
                </div>
            </div>
     
            <div class="form-group">
                @Html.LabelFor(Function(model) model.Password, htmlAttributes:= New With { .class = "control-label col-md-2" })
                <div class="col-md-10">
                    @Html.EditorFor(Function(model) model.Password, New With { .htmlAttributes = New With { .class = "form-control" } })
                    @Html.ValidationMessageFor(Function(model) model.Password, "", New With { .class = "text-danger" })
                </div>
            </div>
     
            <div class="form-group">
                @Html.LabelFor(Function(model) model.RememberMe, htmlAttributes:= New With { .class = "control-label col-md-2" })
                <div class="col-md-10">
                    <div class="checkbox">
                        @Html.EditorFor(Function(model) model.RememberMe)
                        @Html.ValidationMessageFor(Function(model) model.RememberMe, "", New With { .class = "text-danger" })
                    </div>
                </div>
            </div>
     
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Connexion" class="btn btn-default" />
                </div>
            </div>
        </div>
    End Using

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

Discussions similaires

  1. [LDAP] Paramètres de connexion à Active Directory
    Par line86 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/07/2008, 12h13
  2. Réponses: 2
    Dernier message: 05/03/2008, 09h29
  3. [JNDI] Connexion Active Directory
    Par le Daoud dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 05/06/2006, 10h08
  4. [C#] Connexion Active Directory
    Par lordkoko dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/02/2006, 17h04
  5. [VBA-E] Connexion Active Directory
    Par david522 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/12/2005, 13h49

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