ASP.NET 2.0: Implémenter son propre Membership provider en 30 minutes Danse Didier - Metrum Most...

Preview:

Citation preview

ASP.NET 2.0: Implémenter ASP.NET 2.0: Implémenter son propre Membership son propre Membership provider en 30 minutesprovider en 30 minutes

Danse Didier - Metrum Danse Didier - Metrum Most Valuable Professional Most Valuable Professional

ASP.NETASP.NETDeveloppez.comDeveloppez.com

HistoriqueHistorique

ASPASPAucune aide

ASP.NET 1.XASP.NET 1.X Forms authentication

ASP.NET 2.0ASP.NET 2.0 Membership APIs

Les « APIs Membership »Les « APIs Membership »

Permettent de:

Créer des utilisateursSauvegarder des informations dans des environnements différentsAuthentifier des utilisateursGérer des mots de passe

Membership serviceMembership service

MemberShip MemberShipUser

MemberShip API

SqlMemberShipProvider

ActiveDirectoryMemberShipProvider

OwnMemberShipProvider

Own DataActive DirectorySqlServer database

MemberShip Providers

MemberShip Data

Membership serviceMembership service

MemberShip MemberShipUser

MemberShip API

SqlMemberShipProvider

ActiveDirectoryMemberShipProvider

OwnMemberShipProvider

Own DataActive DirectorySqlServer database

MemberShip Providers

MemberShip Data

ASP.NET User management controls

CreateUser Login …

Méthodes Méthodes MembershipProviderMembershipProvider

UpdateUserCreateUserDeleteUser

ValidateUserUnlockUser

Méthodes Méthodes MembershipProviderMembershipProvider

GetUserNameByEmailFindUsersByEmail/FindUsersByName

ResetPasswordChangePassword

Méthodes Méthodes MembershipProviderMembershipProvider

CreateRoleDeleteRoleAddUserToRole

<roleManager enabled=“true” />

Activation dans le Web.ConfigActivation dans le Web.Config

ASP.NET Configuration ASP.NET Configuration websitewebsite

ASP.NET Configuration ASP.NET Configuration websitewebsite

Login ControlsLogin Controls

demdemoo

Déclaration des propriétés Déclaration des propriétés pour un utilisateurpour un utilisateur

<profile> <properties>

<add name="Theme" /> <add name="Birthday" type="System.DateTime" /> <add name="LoginCount" type="System.Int32" defaultValue="0" />

</properties> </profile>

Utilisation dans le code-Utilisation dans le code-behindbehind

string theme = Profile.Theme;dateTime anniversaire = Profile.Birthday;

Profile.Theme = "test“;

ProfileProfile

demdemoo

Membership serviceMembership service

MemberShip MemberShipUser

MemberShip API

SqlMemberShipProvider

ActiveDirectoryMemberShipProvider

OwnMemberShipProvider

MemberShipActive DirectorySqlServer database

MemberShip Providers

MemberShip Data

Membership ProvidersMembership Providers

MembershipProvider(classe abstraite)

OwnMembershipProvider

ActiveDirectoryMembershipProvider

SqlMembershipProvider

Extrait du Web.configExtrait du Web.config

<system.web> ... <membership defaultProvider=“TextMembershipProvider">

<providers> <add name=“TextMembershipProvider" type=“TextMembershipProvider" enablePasswordRetrieval=“true" enablePasswordReset=“true“ … />

</providers> </membership> ... </system.web>

Implémentation d’une classe Implémentation d’une classe dérivée de dérivée de MemberShipProviderMemberShipProvider

Déclaration dans web.configDéclaration dans web.config

demdemoo

Recommended