Les services web d'authentification, de profils et de rôle


Les services web d'authentification, de profils et de rôle ASP.NET




Introduction


On cherche dans cet article à exploiter les ressources de la plate forme .NET pour gérer les utilisateurs qui vont accéder à un site web ASP.NET. Afin de définir les utilisateurs, les rôles et les droits d’accès à notre site web.

Pré-requis


On suppose que nos lecteurs ont un minimum de connaissances avec la plateforme .NET et avec les pages ASP.NET. En outre, on note qu’on se base dans notre exemple sur le Framework.NET 3.5 avec l’IDE Microsoft Visual Studio 2008.

Création du projet et des éléments à exploiter


En ce qui suit nos choix lors de la création de notre projet web.

Création du projet


On commence par choisir un projet web de type « ASP.NET Web Application ». On note très bien aussi le choix du « .NET Framework 3.5 ».



Pour l’instant on garde les paramétrages par défaut de notre projet sachant que l’application tournera sous le serveur de développement ASP.NET et non sous IIS.
Ajoutez deux répertoires à votre application « News » et « Questions » et ajoutez une WebForm dans chaque répertoire.

Création de la base de données


Pour que les composants .net puissent gérer les utilisateurs, les rôles et les règles de gestions des droits d’accès à votre site web. Il faut leur créer une base de données où ils vont stocker tous vos paramètres de gestion des droits d’accès, plusieurs provider peuvent être utilisés : SqlProvider pour les bases de données SQL Server, OracleProvider pour les bases de données Oracle, MySqlProvider pour les bases de données MySql, FileProvider pour le stockage dans des fichiers (XML) et ADPProvider pour l’active directory. Dans note article nous allons utiliser une base de données SQL Server Express.

Allez dans le répertoire C:WindowsMicrosoft.NETFramework et faites une recherche pour trouver le fichier « aspnet_regsql.exe », exécutez le, et faites suivant jusqu’à l’étape de sélection du serveur, choisissez votre serveur, votre mode d’authentification et le nom de votre base de données que vous voulez créer, puis toujours suivant.


Paramétrage de la connexion


Dans votre site, ouvrez votre fichier « Web.Config » et remplacez le tag « ConnectionStrings » par ce qui suit, en définissant le nom de votre serveur, votre base de données et votre provider.
  <connectionStrings>
    	<remove name="LocalSqlServer" />
    	<add name="LocalSqlServer" connectionString="Data Source=MAC4SQLEXPRESS;Initial Catalog=Test;User Id=sa;Password=sa"
    	providerName="System.Data.SqlClient" />
  </connectionStrings>


Et remplacez votre mode d’authentification à la valeur « Forms » pour pouvoir gérer vos utilisateurs, la valeur par défaut étant « windows ». Il existe d’autre forme d’authentification que nous pourrons détailler dans un autre article.
<system.web> 
<authentication mode="Forms" />
</system.web> 

Paramétrage des rôles et des droits d’accès


Allez dans le volet « Project » et « ASP.NET Configuration ».



Le système ouvrira l’interface de configuration dans votre navigateur web.
- Cliquez sur : configuration de fournisseur
- Cliquez sur : Sélectionner un fournisseur unique pour toutes les données de gestion de site
- Cliquez sur : sur le nom de votre application

Allez dans le volet Sécurité
- Cliquez sur : Activer les rôles
- Cliquez sur : Créer ou gérer des rôles
- Ajoutez deux rôles « RoleNews » et « RoleQuestions »

Allez dans le volet Sécurité
- Cliquez sur : Gérer les utilisateurs
- Ajoutez deux utilisateurs « UtilNews » et « UtilQuestions » et leur affecter les rôles correspondants

Allez dans le volet Sécurité et cliquez sur : Créer des règles d'accès. Le principe de gestion des droits d’accès est très simple :



Pour créer une règle d’accès il faut choisir un répertoire de votre application, puis un rôle ou un utilisateur ou tous les utilisateurs et spécifier si vous lui autorisez l’accès à ce répertoire ou non. Une fois toutes vos règles d’accès définies et pour assurer l’authentification des utilisateurs à votre site, il suffit d’ajouter un formulaire ou on récupère le nom utilisateur et le mot de passe et de le passer en paramètre à la méthode :
FormsAuthentication.Authenticate(Login1.UserName, Login1.Password)

Conclusion


Nous avons essayé de simplifier l’utilisation de l’ASP.Net et le Framework .NET (System.Web.Security) qui nous fournissent un ensemble d'outils destinés à gérer les droits d’accès à un site web. Pour pouvoir aller plus en détail il suffit que nous explicitons les « MembershipUser », « MembershipProvider », « Membership », « RoleProvider », « ProfileProvider » ; chacun pouvant faire l’objet d’un article à part. Vous pouvez même créer vos propre Provider en héritant de la classe abstraite « MembershipProvider ».
Publié par n00r - Dernière mise à jour le 9 décembre 2009 à 21:57 par Ced_King
Ce document intitulé « Les services web d'authentification, de profils et de rôle » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Les services web d'authentification, de profils et de rôle
  •  Service web » Articles : Avec l'interconnexion des ordinateurs en réseau et en particulier à travers internet, il devient possible de faire fonctionner des applications sur des machines distantes. L'intérêt d'une application fonctionnant à distance peut à première vue...
  •  Web Service, un exemple svp » Meilleure réponse: Avec cette adresse, tu as des exemples de web services http://www.microsoft.com/france/msdn/devdays2002/default.asp Pour tester d'autres web services http://www.dotnet-fr.org/search.php3?topic=37
  •  Intranet et Extranet » Articles : Intranet L'utilité d'un intranet Avantages d'un intranet Mise en place de l'intranet Extranet Plus d'informations Intranet Un intranet est un ensemble de services internet (par exemple un serveur web) internes à un réseau local, c'est-à...
  •  Axis 2 - Partie 2: Mise en place et utilisation » Fiches pratiques : Mise en place Déploiement des Web Service Axis 2: Mise en place et utilisation Mise en place L’utilisation d’Axis nécessite un serveur d’application comme tomCat ou plus précisément un servlet container. Donc la première étape consiste...
  •  WSDL » Articles : WSDL Le standard WSDL (Web Service Description Language) est un langage reposant sur la notation XML permettant de décrire les services web. WSDL permet ainsi de décrire l'emplacement du service web ainsi que les opérations (méthodes, paramètres et...
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Déploiement des applications avec ClickOnce
Appel ASP.NET AJAX synchrone