我正在寻找解决方案,但无法在网上找到。我以前用其他语言做过这个,但我不知道如何在ASP.Net中解决这个问题。我正在使用Visual Studio 2010 Express。
我目前正在考虑将Whitelist命令放在RegisterUser控件中的CreatingUser事件中。为此,我获取用户提供的电子邮件地址,检查以确保该域位于列入白名单的电子邮件地址的单独表中。如果用户在白名单中,则继续注册,否则失败。
基本上,用户必须属于列入白名单的电子邮件地址才能加入网站。
任何人都可以指导我如何使用ASP.Net专门做这件事吗?我正在构建从ASP.Net创建的基本项目模板,所以这是我正在使用的所有库存Microsoft代码。代码很棒,但我想真正了解我在做什么!
修改 我在ASPNETDB.mdf
中创建了下表whitelistTable:
whitelistID,bigint autoincrement
whitelistDomain,nvarchar(256)
答案 0 :(得分:1)
如果您指的是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;
}