Vous êtes sur la page 1sur 3

Labs ASP.NET v1.

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

Lab06

But du Lab

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

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

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 » :

- 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 »

- 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

Vous aimerez peut-être aussi