Asp.net:如何在会员数据库中添加额外的用户详细信息
本文关键字:添加 详细信息 用户 数据库 net Asp | 更新日期: 2023-09-27 18:30:05
我对asp.net上的成员资格很陌生。如果我需要创建一个带有额外参数的新用户,例如firstname。我应该为这些额外的参数创建一个新表吗?
如果我没有使用CreateUserWizard来创建用户,我是否只使用Membership.CreateUser来创建用户?
请帮助
获取其他用户信息(如名字)后,可以将这些信息保存到自定义数据库表中。
一个有效的点可能是将信息存储在配置文件中。但是,在运行向导时,用户还没有经过身份验证,因此您无法将信息存储到配置文件中,因为这只适用于经过身份验证的用户。因此,您必须将其存储在自定义数据库表中,或者为用户提供一种在注册过程后编辑配置文件的方法。
dbo.aspnet_Profile
是aspnetdb
数据库中的表,默认情况下用于存储用户的配置文件。因此,如果你更喜欢存储在Profile中,在创建用户后,加载新创建的用户的Profile,并设置你收集的自定义信息。
ProfileCommon p = Profile.GetProfile(strUsername);
//update the field and save
p.FirstName= txtFirstName.Text;
p.Save();
问题2::
If I am not using CreateUserWizard to create user, do I just use
Membership.CreateUser to create the user??
是的,不需要使用CreateUserWizard
来创建用户。甚至你也可以只使用2个文本框收集一些基本信息,如:用户名、密码,并使用各种重载版本的MemberShip.CreateUser()
方法创建用户。查看MSDN。此外,这个链接创建了用户与非常基本的信息。
您可以使用ASP.NET配置文件属性来存储用户的额外信息。您可以在MSDN的这篇文章中了解更多信息。
有一个名为UserProfile的表,用于存储用户名和用户ID。Membership.CreateUser函数使用该表。
如果添加到此表,则列必须可以为null,否则在尝试创建新用户时会引发错误。
另一种选择是使用一个单独的表来存储更多的详细信息。请确保主键的类型为INT,并且不是自动递增的。通过这种方式,您可以确保ID与UserProfile表的用户ID相同,从而避免两个表之间的一对多关系。