ASP.Net - Регистрация пользователей на основе белого списка электронной почты - PullRequest
1 голос
/ 28 февраля 2012

Я ищу решение для этого, но не могу найти его в Интернете. Я делал это раньше на других языках, но я не уверен, как это сделать в ASP.Net. Я использую Visual Studio 2010 Express.

В настоящее время я думаю, что я должен поместить команды белого списка в событие CreateUser в элементе управления RegisterUser. Для этого я получаю предоставленный пользователем адрес электронной почты, чтобы убедиться, что домен находится в отдельной таблице адресов электронной почты в белом списке. Продолжить регистрацию пользователя, если он находится в белом списке, если нет -

Обычно пользователь ДОЛЖЕН принадлежать адресу электронной почты, указанному в белом списке, чтобы присоединиться к сайту.

Может ли кто-нибудь подсказать мне, как это сделать конкретно с ASP.Net? Я строю из базового шаблона проекта, созданного из ASP.Net, так что это весь стандартный код Microsoft, с которым я работаю. Код отличный, но я бы тоже хотел узнать, что я делаю!

EDIT: Я создал следующую таблицу в моем ASPNETDB.mdf

whitelistTable:

whitelistID, автоинкремент bigint

белый список доменов, nvarchar (256)

1 Ответ

1 голос
/ 28 февраля 2012

Если вы ссылаетесь на событие CreateUserWizard.CreatingUser, элемент управления CreateUserWizard поддерживает поле «Электронная почта» и должен автоматически добавить его, если вы настроите его таким образом в поставщике членства. (Отказ от ответственности: я на самом деле не использовал это сам).

<asp:CreateUserWizard ID="RegisterUser" runat="server" OnCreatingUser="RegisterUser_CreatingUser" ... > 
...
</asp:CreateUserWizard>

В обработчике RegisterUser_CreatingUser:

protected void RegisterUser_CreatingUser(object sender, LoginCancelEventArgs e) 
{ 
    if (!EmailIsInWhiteList(RegisterUser.Email))
    { 
        // Optional: display validation message. 
        e.Cancel = true; 
        return; 
    } 

    e.Cancel = false; 
} 
...