asp.net Web应用程序项目模板成员资格

时间:2011-07-12 21:08:26

标签: asp.net asp.net-membership

我想在创建新的asp.net Web应用程序时使用Visual Studio中默认包含的内置成员资格/身份验证系统。

我的问题是我有一个用户表... UserID,FirstName,LastName等,以及我想要使用的公司信息。如何将此表链接到我创建的新注册?

假设我创建了一个新注册。现在登录和密码数据存储在哪里?

有人能指出我正确的方向吗?

4 个答案:

答案 0 :(得分:3)

本教程在开始时非常有用:Creating the Membership Schema in SQL Server

如果您现有的公司数据库中基本上只有用户个人资料信息,则可能需要考虑创建custom Profile Provider。请注意,在使用Web应用程序项目时执行此操作会使用perculiarities

如果您的数据库中还有其他信息通过外键密钥链接到用户,您可能会对此discussion感兴趣,了解如何将其与成员资格一起使用。

答案 1 :(得分:2)

默认情况下,成员资格信息存储在SQL数据库ASPNETDB.MDF中。您可以在App_data文件夹中找到此文件。

如果您想更改成员资格的行为方式,以及它使用的数据库和表格,我建议您创建自定义成员资格提供程序。

请参阅http://msdn.microsoft.com/en-us/library/aa479048.aspx或google asp.net自定义成员资格提供商:

如果您只是希望现有成员资格提供程序使用其他数据库,则可以运行aspnet_regsql实用程序:

请参阅http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx

这个使用实体框架codefirst的自定义成员资格提供程序示例帮助我开始:

http://codefirstmembership.codeplex.com/

答案 2 :(得分:1)

我谦虚的建议是,您只需创建一个单独的表格,并将其与您的用户表格相关联。因此,存储登录名和密码的位置没有变化。

本文可能会对您有所帮助:http://www.asp.net/security/tutorials/storing-additional-user-information-cs。看看吧。

附加文章:

http://www.4guysfromrolla.com/articles/101106-1.aspx

http://www.4guysfromrolla.com/articles/110310-1.aspx

希望这有帮助。

答案 3 :(得分:0)

感谢大家的回复,你们都给了我一些帮助我找出问题的见解。 我决定采取更简单的路线。

这就是我想出的。在Register.aspx.cs中:

protected void RegisterUser_CreatedUser(object sender, EventArgs e)
{

    TextBox txtFirstName = (TextBox)(RegisterUser.CreateUserStep.ContentTemplateContainer.FindControl("txtFirstName "));
    string firstName= txtFirstName.Text;

    ... Insert new fields  in database ....

}

并在CreateUserWizard控件中添加了控件。非常简单的解决方案。