Реклама:

user. Email = "aliceBNewDomaln.com"; Membership.UpdateUser(user);

> )

</scripr>

'.'html xmlns="http://www.w3.org/1999/xhtml"> <head runat='server">

<title>Membersnip API</title>

</head> <ntxiy>

<torm id="formi" runat="server"> <div>

<asp:Button runat="server" ID="_btnAddAlice" Text="Add Alice" OnClick="_btnAddAlice_Click" />

<asp:6utton runat="server" ID="_btnDeleteAlice" Toxt="Oelete Alice" OnClick="_btnDeletoAlice_Click" />

<asp:Button runat="server" ID= "_btnFindAlice" Text="Find Alice" OnClick="_btnFindAlice_CHck" />

<br /> <br />

<asp:Button runat = "server" If)="_btnUpdateAl ice" Text="Update Alice" OnClick="_btnUpdateAlice_Click" />

<asp:Button runat="server" io^'btnGetAHUsers" Text="Get All Users" OnClick="_ntnGetAl)Users_Ciick" />

<asp:Button runat="server" ID="_btnValidateAlice'" Text="Validate Alice" OnClick="_btnVaiidateAlice.Click" />

<br /> <br />

<asp:Literal runat="server" ID="_litOutput" /> </div> </f'orm> </body> </html>

Все методы, запрашивающие пользователей, возвращают объект MembershipUser. Из него вы получаете информацию о дате создания или последнего посещения пользователя. Вы можете изменить пароль или заблокировать (разблокировать) пользователя.

События

Методы CreateUser, ChangePassword и Reset Passivordзапускают событие ValidatingPass-word, позволяющее проверить пароль перед его выполнением или созданием пользователя. Таким образом, мы получаем даже больше гибкости, чем при конфигурации сложности пароля провайдера. Если в ValidatePassuvrdEzientArgs свойству Cancel присвоить значение true, то провайдер прервет текущую операцию (с помощью исключительной ситуации или исключительной ситуации, заданной в свойстве Failureln/nrmation). В этом событии вы можете, например, проверить историю пароля и убедиться, что он не будет использоваться повторно. На это событие следует' подписаться в Application _St.art в файле global.asax или в модуле HTTP.

Подписание на событие ValidatingPassword в global.asax

<И& Application Language="Cfl" %>

<script runal="server">

void Applicaiion_Slart(obiect sender, EventArga e) {

Membership. Va] idiil ingPassword *- new Member s hipVal idatePasswordEveni Handler (Membership_Validat ingPassword);

)

void Membersliip^ValidatingPassword(objflct sender. ValidatePasswordEventArgs e)

if (!e, IsNewtlser U

!ChuckPasswordHistory(e.UserName, e.Password)) e.Cancel = true;

</script>

ВНИМАНИЕ! Пароли в истории не должны храниться в открытом виде.

Конфигурация

Инструмент Membership имеет минимум параметров конфигурации. Вы можете задать алгоритм хэширования, который будет использоваться для хранения паролей. Еще один атрибут указывает, сколько времени пользователи будут рассматриваться как «активные» после их последней регистрации с применением провайдера. (Этот атрибут используется для поддержки метода GeiNumberOfUserOnline и в настоящее время применяется только провайдером SQL.) Кроме того, для текущей области видимости конфигурации задается провайдер по умолчанию.


⇐ Предыдущая страница| |Следующая страница ⇒