Vous êtes sur la page 1sur 3

Labs ASP.NET v1.1

Lab06

But du Lab

Aurélien Norie & Sébastien Bovo [Microsoft]

Le but de ce Lab de mettre en place l’authentification par formulaire pour une application ASP.NET.

Exercice 1 – les paramètres de sécurité dans le fichier Web.config

  • - Créer une nouvelle application Web ASP.NET en Visual Basic : « 06VBFormulaire »

  • - Dans l'Explorateur de projets, ouvrer le fichier Web.config

  • - Dans la balise « <authentication> », modifier le mode d'authentification en Forms

  • - Insérer la balise « <forms> » et indiquez les attributs appropriés :

<authentication mode="Forms"> <forms name=".ASPXAuth" loginUrl="logon.aspx" protection="All" path="/" timeout="30" /> </authentication>

  • - Refuser l'accès à un utilisateur anonyme dans la section « <authorization> » de la manière suivante :

<authorization> <deny users ="?" /> <allow users = "*" /> </authorization>

  • - Lancer « l’Analyseur de requêtes » de SQL Server. Se Connecter au serveur local avec le nom « SA », et son mot de passe

  • - Activer la commande « Fichier/Ouvrir » afin d’ouvrir le fichier « Utilisateurs.sql » fourni

Labs ASP.NET v1.1 Lab06 But du Lab Aurélien Norie & Sébastien Bovo [Microsoft] Le but de

Utilisateurs.sql

  • - Exécuter le contenu SQL de ce fichier sur la base « PUBS »

Labs ASP.NET v1.1 Lab06 But du Lab Aurélien Norie & Sébastien Bovo [Microsoft] Le but de

Page 1 sur 3

Labs ASP.NET v1.1

Aurélien Norie & Sébastien Bovo [Microsoft]

Exercice 2 – Page de logon et validation de l’utilisateur

  • - Ajouter un nouveau formulaire Web au projet nommé « Logon.aspx »

  • - Ajouter deux labels, un textbox nomé « txtUserName », un second textbox « txtUserPass » et un bouton « cmdLogin » :

Labs ASP.NET v1.1 Aurélien Norie & Sébastien Bovo [Microsoft] Exercice 2 – Page de logon et
  • - Attribuer à la propriété « TextMode » du textbox « txtUserPass » la valeur « Password »

  • - Double-cliquer sur le bouton pour faire apparaître le code behind

  • - Importer les espaces de noms nécessaires en début de fichier :

Imports System.Data.SqlClient Imports System.Web.Security

  • - Créer une fonction ValidateUser pour valider les informations d'identification des utilisateurs par consultation dans la base de données :

Function ValidateUser(ByVal uid As String, ByVal passwd As String) As Boolean Dim cnn As SqlConnection Dim cmd As SqlCommand Dim dr As SqlDataReader Dim retVal As Boolean = False

cnn = New SqlConnection("server=localhost;uid=sa;pwd=saPassword;database=Pubs;")

cmd = New SqlCommand("Select * from users where uname = '" & uid & "'",

cnn)

cnn.Open() dr = cmd.ExecuteReader()

While (dr.Read()) If StrComp(dr.Item("Pwd"), passwd, 1) = 0 Then retVal = True End If End While

cnn.Close()

ValidateUser = retVal

End Function

  • - Appeler cette fonction dans l’évènement « cmdLogin_Click » et rediriger l’utilisateur vers la page initialement appelée :

Private Sub cmdLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLogin.Click If ValidateUser(txtUserName.Text, txtUserPass.Text) Then

Page 2 sur 3

Labs ASP.NET v1.1

Aurélien Norie & Sébastien Bovo [Microsoft]

FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, False)

Else Response.Redirect("logon.aspx", True) End If End Sub

  • - Renommer la page « WebForm1.aspx » existante en « Default.aspx », puis l’ouvrir dans l'éditeur

  • - Ajouter un bouton « cmdSignOut » avec le texte « Se déconnecter »

Labs ASP.NET v1.1 Aurélien Norie & Sébastien Bovo [Microsoft] FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, False ) Else Response.Redirect("logon.aspx", True )
  • - Double-cliquer sur le bouton pour voir apparaître le code behind

  • - Importez les espaces de noms nécessaires :

Imports System.Web.Security

  • - Utiliser le code suivant pour déconnecter l’utilisateur de l’application :

Private Sub cmdSignOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSignOut.Click FormsAuthentication.SignOut() Response.Redirect("logon.aspx", True) End Sub

  • - Enregistrer et compiler le projet. Naviguer sur la page « Default.aspx »

  • - Constater que vous êtes automatiquement redirigés vers la page de Logon.

  • - Entrer le logon et le mot de passe d’un utilisateur valide (« user1 », « user1 » par exemple).

  • - Constater la redirection automatique vers la page demandée à l’origine.

Page 3 sur 3