Membership Configuration

1.1. Web Site Administration Tool

L’outil d’administration va vous permettre de gérer rapidement votre site web.

Pour y accéder vous devez aller dans la barre de menu, cliquez sur WebSite puis ASP.NET Configuration

sécurité et administration asp.net V2 whibdey visual 2005

Un page web se lance. Vous devez vous trouvez face à cette page :

sécurité et administration asp.net V2 whibdey visual 2005

Cliquez sur l’onglet Provider.

1.2. Sélectionner la base de donnée

Vous avez le choix entre un seul fournisseur de données pour toute l’application ou plusieurs.

Dans notre exemple nous allons choisir un seul provider. Comme sur l’impression d’écran ci dessous, choisissez SQL Server DataBase.

sécurité et administration asp.net V2 whibdey visual 2005

Les informations que vous allez maintenant rentrer vont modifier le Web.Config. Vous allez choisir le configuration du Membership : génération automatique du mot de passe, si l’inscription d’un nouvel utilisateur requier une question et une réponse…

sécurité et administration asp.net V2 whibdey visual 2005

Et voilà, le nouveau provider est créer.

sécurité et administration asp.net V2 whibdey visual 2005

1.3. Web.Config

Vous pouvez agir directement sur la base de données en utilisant ces procèdures stockées. Les noms de procèdures sont aussi explicites que le nom des tables.

<?xml version= »1.0″?> <configuration> <system.web> <membership defaultProvider= »test »> <providers> <add name= »test » type= »System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a » connectionStringName= »webAdminConnection632342453662339952″ applicationName= »/whidbeyTest » description= » » requiresUniqueEmail= »false » enablePasswordRetrieval= »false » enablePasswordReset= »false » requiresQuestionAndAnswer= »false » passwordFormat= »Hashed » /> </providers> </membership> </system.web> </configuration>

ASP.NET Configuration

2.1. Web Site Administration Tool

L’outil d’administration va vous permettre de gérer rapidement votre site web.

Pour y accéder vous devez aller dans la barre de menu, cliquez sur WebSite puis ASP.NET Configuration

Un page web se lance. Vous devez vous trouvez face à cette page :

sécurité et administration asp.net V2 whibdey visual 2005

A partie de se site web d’administration. Vous allez pouvoir configurer vos utilisateurs , vos rôles et les droits d’accès à votre site web.

La gestion de ces droits sont tous situés dans l’onglet Security. Les autres onglet seront vues dans les prochains articles.

Cliquez sur l’onglet Security.

sécurité et administration asp.net V2 whibdey visual 2005

Vous avez deux possibilités : – soit de configurer manuellement la gestion de vos rôles, users et droits d’accès – soit d’utiliser le Security Setup Wizard.

2.2. Security Setup Wizard

Pour configurer la sécurité étape par étape, vous devez utiliser Security Setup Wizard . Laissez vous guider :

sécurité et administration asp.net V2 whibdey visual 2005

Méthode d’accès, vous pouvez choisir entre un accès web et un accès via active directory.

sécurité et administration asp.net V2 whibdey visual 2005

Créer des groupes d’utilisateurs gràce aux rôles.

sécurité et administration asp.net V2 whibdey visual 2005

Vous pouvez aussi gérer les droits d’accès aux répertoires et aux fichiers de votre application web :

sécurité et administration asp.net V2 whibdey visual 2005

Si vous décidez de ne pas utiliser le Security Setup Wizard, vous pouvez le faire manuellement en cliquant sur Enable Role. Puis laissez vous guider c’est tout aussi facile.

2.3. Prise en main de l’interface

2.3.1. Démarrage

A partir de l’interface vous pouvez ajouter, supprimer, gérer vos users et vos rôles.

sécurité et administration asp.net V2 whibdey visual 2005

A partir de cet écran pour créer :

– votre premier User, vous devez cliquer d’abord sur « Select authentification ». C’est ici que vous allez choisir le mode d’authentification. Soit par accès internet soit par active directory votre application web est gérer en interne.

– votre premier Role, vous devez cliquez sur « Enable roles » pour que create roles s’affiche.

2.3.1. Users

Créér un nouvel utilisateur dans la base de données directement dans l’interface d’administration

sécurité et administration asp.net V2 whibdey visual 2005

Gérer vos users :

sécurité et administration asp.net V2 whibdey visual 2005

2.3.2. Roles

Créer des groupes d’utilisateurs gràce aux rôles.

sécurité et administration asp.net V2 whibdey visual 2005

2.3.2. Access Rules

A partir de la zone d’administration web vous pouvez aussi gérer les droits d’accès aux dossiers en fonction des rôles, des utilisateurs enregistrés ou non.

sécurité et administration asp.net V2 whibdey visual 2005

base de données

3.1. Structure des tables

Après avoir créer vos droits et rôles d’accès vous pouvez voir dans votre de base de données que des nouvelles tables ont été créées. Nous allons nous intéresser essentiellement aux tables liées à la sécurité.

Vous n’avez pas besoin de connaître ces tables, ces procédures, ces vues… car Asp.net V2 le gère pour vous. Mais si vous souhaitez développer votre propre système de sécurité et d’authentification, vous aurez tous les éléments pour manoeuvrer facilement.

Liste des tables :

  • aspnet_Users
  • aspnet_Profile
  • aspnet_Membership
  • aspnet_UsersInRoles
  • aspnet_Roles
  • aspnet_Applications

Le nom de table et des champs sont très explicites. Je vous laisse découvrir par vous même la modélisation de ces tables.Ci joint le diagramme de ces tables :

sécurité et administration asp.net V2 whibdey visual 2005

3.3. Procédures Stockées

Vous pouvez agir directement sur la base de données en utilisant ces procèdures stockées. Les noms de procèdures sont aussi explicites que le nom des tables.

sécurité et administration asp.net V2 whibdey visual 2005

3.3. Les Vues

Ci dessous la liste des vues, qui vont vous permettre d’interroger chaque table rapidement.

sécurité et administration asp.net V2 whibdey visual 2005

3.4. Les Rôles Sql Serveur

Aps.net V2 affecte différents rôles d’accès aux données. La liste ci dessous.

sécurité et administration asp.net V2 whibdey visual 2005

sécurité et administration asp.net V2 whibdey visual 2005

Membership

4.1. Provider Specific storage

ASP.NET V2 vous permettra de vous coonecter facilement sur :

– Access – SQL Server – Active Directory

Rien ne vous empêche de prendre votre propre provider

Si vous avez choisit Access, le répertoire Data\ . Il doit contenir la base de données AspNetDB.mdb.

4.2. Créer un nouveau Utilisateurs

Membership.CreateUser(« NomUser », »PassWord »);

Ce code vous permet d’appeler la méthode Membership.CreateUser(), avec en paramètre le nom de l’utilisateur et son password.

En fonction de la configuration dans le chapitre « 1.3. Web.Config », vous devez surcharger plus ou moin cette méthode

4.3. Connection des Utilisateurs

Vous devez utiliser la méthode validateUser(username, password) qui retourne un booléan.

if (Membership.ValidateUser(« NomUtilisateur », « Password »)) { FormsAuthentifaction.RedirectFromLoginPage(« NomUtilisateur », false) } else { // }

4.4. Information sur les Utilisateurs

Vous pouvez facilement retrouver les informations sur un utilisateur gràce à la méthode MembershipUser.GetUser()

4.4.1 Savoir si l’utilisateur en cours est en ligne

Membership.GetUser(« NomUtilisateur », true);

4.4.2 Retrouver un utilisateur pas son mail

Membership.GetUserNameByEmail(« NomUtilisateur »);

4.4.3 Avoir la liste de tous les utilisateurs

Membership.GetAllUser(true);

4.5. Modification des mots de passes des Utilisateurs

Pour modifier le mot de passe d’un utlisateur vous avez juste besoin d’utiliser la méthode GetPassword()

4.5.1 Générer un passport

Membership.GeneratePassword(« nombre de caractère du futur password « );

4.5.2 Changer le password

MembershipUser m = Membership.GetUser();

m.ChangePassword(« vieux mot de passe », »nouveau mot de passe »);

4.6. Suppression des Utilisateurs

Pour supprimer un utlisateur

Membership.DeleteUser(« NomUser »);

Contrôle Serveur Login

Visual Studio 2005, mets à votre dispositions une gallerie de contrôles très utiles.

sécurité et administration asp.net V2 whibdey visual 2005

5.1. Login Control

Login est un control qui vous permet d’authentifier les membres d’un site.

sécurité et administration asp.net V2 whibdey visual 2005

5.2. LoginView

Vous permet de modifier l’affichage en fonction du rôle de votre utilisateur.

<asp:LoginView ID= »LoginView1″ Runat= »server »> <RoleGroups> <asp:RoleGroup Roles= »Admin »> <ContentTemplate> Welcome to the Administrator </ContentTemplate> </asp:RoleGroup> <asp:RoleGroup Roles= »Participant »> <ContentTemplate> Welcome Participant </ContentTemplate> </asp:RoleGroup> </RoleGroups> <AnonymousTemplate> Welcome visitor ! </AnonymousTemplate> </asp:LoginView>

5.3. PasswordRecovery

Permet à vos utilisateurs de retrouver leur mot de passe.

sécurité et administration asp.net V2 whibdey visual 2005

5.4. LoginStatus

Permet de savoir si le visiteur est connecté ou non. Afficher Connection quand votre visiteur est déconnecté et Déconnection quand votre utilisateur est connecté

5.5. LoginName

Afficher le nom de l’utilisateur connecté.

5.6. CreateUserWizard

C’est un Wizard utilisé pour la création d’un nouveau membre

sécurité et administration asp.net V2 whibdey visual 2005

5.7. ChangePassword

Permet à vos utilisateurs de changer de mot de passe

sécurité et administration asp.net V2 whibdey visual 2005

Administration des rôles

6.1. Créer un rôles

Pour créer un rôle vous devez utiliser la méthode CreateRole()

Roles.CreateRole(« nomDuRole »);

Liste des rôles

Roles.GetAllRoles();

6.2. Ajouter un rôle à un utilisateur

6.2.1 Ajouter un rôle à un utilisateur

Roles.AddUserToRole(« NomUtilisateur », « nom du role »);

6.2.2 Ajouter plusieur rôles à un utilisateur

Roles.AddUserToRoles(username, role());

6.2.1 Ajouter un rôle à plusieurs utilisateurs

Roles.AddUsersToRole(« username(), role);

6.2.2 Ajouter plusieur rôles à plusieurs utilisateurs

Roles.AddUsersToRoles(username(), role());

6.3. Rôles d’un utilisateur

Vous devez utiliser la méthode GetRolesUser() .

Roles.GetRolesForUser(« nomUtilisateur »)
Roles.GetRolesForUser(« nomDuRole »);

6.4. Supprimer le rôle d’un utilisateur

Roles.RemoveUserFromRole(« nomUtilisateur », « nomDuRole »)

C’est le même schema que l’attribution des roles (RemoveUserFromRoles,RemoveUsersFromRole, RemoveUsersFromRoles)

6.5. Supprimer un rôle

Roles.DeleteRole(« nomDuRole »)