Antoine Griffard
LINQRoleProvider
L'objectif de cet article est d'implémenter un fournisseur de rôles ASP.NET personnalisé à l'aide de LINQ To Sql tout en faisant un tour d'horizons de la syntaxe des requêtes LINQ.
Par Antoine Griffard publié le 13/04/2008 à 22:18, lu 5299 fois, 8 pages
 7 | Site d'exemple
Afin de tester notre fournisseur, nous allons créer un site web de test dans lequel nous allons remplacer le fournisseur de rôles par défaut par notre LinqRoleProvider
Il suffit pour cela d'éditer la section RoleManager du fichier web.config et de lui ajouter une ligne à sa section Providers en spécifiant le type de fournisseur utilisé ainsi que les différents paramètres nécessaires comme la chaîne de connexion ou l'applicationName.
Enfin, il faut stipuler qu'il s'agit du fournisseur par défaut grâce à l'attribut DefaultProvider.

<roleManager enabled="true" cacheRolesInCookie="true" cookieName=".DemoROLES" defaultProvider="LinqRoleProvider">

    <providers>

        <remove name="AspNetSqlRoleProvider"/>

        <add name="LinqRoleProvider" applicationName="/Demo" 

            connectionStringName="LocalSqlServer" 

            type="Providers.LinqRoleProvider, ProvidersLibrary"/>

    </providers>

</roleManager>

Pour vérifier que le fournisseur fonctionne bien, nous allons ajouter un bouton sur une page de test qui lancera toute une série d'appels des différentes méthodes que nous avons implémentées.

Membership.CreateUser("a", "a", "a@a.com")

Roles.CreateRole("Admin")

Dim allRoles As String() = Roles.GetAllRoles

Roles.AddUserToRole("a", "Admin")

Roles.IsUserInRole("a", "Admin")

Dim userRoles As String() = Roles.GetRolesForUser("a")

Dim users As String() = Roles.FindUsersInRole("Admin", "a%")

users = Roles.GetUsersInRole("Admin")

Roles.RemoveUsersFromRoles(users, userRoles)

Roles.DeleteRole("Admin")

Membership.DeleteUser("a", True)

 
» Démarrer une discussion
 
Discussion démarée par malbaladejo le 16/05/2008 à 10:33, 4 commentaire(s).