我最近开始修补 ASP.NET MVC,但这个问题也应该适用于经典的 ASP.NET。对于它的价值,我也不太了解表单身份验证和成员资格提供程序。
我正在尝试编写我自己的MembershipProvider
,它将连接到我自己的数据库中的自定义用户表。我的用户表包含所有基本用户信息,如用户名、密码、密码盐、电子邮件地址等,还包含名字、姓氏和居住国家等信息。
据我了解,在 ASP.NET 中执行此操作的标准方法是创建一个 没有额外信息的用户表,然后创建一个包含额外信息的“配置文件”表。但是,这对我来说听起来不是很好,因为每当我需要访问这些额外信息时,我都必须进行一次额外的数据库查询才能获得它。
我在“C# 2008 中的 Pro ASP.NET 3.5”一书中读到,如果您需要大量访问配置文件表并且在您的网站中有许多不同的页面,那么为配置文件创建一个单独的表并不是一个好主意。
现在解决手头的问题...正如我所说,我正在编写自己的自定义MembershipProvider
子类,到目前为止进展顺利,但现在我意识到这CreateUser
不允许我以这种方式创建用户我想要。该方法只接受固定数量的参数,名字、姓氏和居住国家不是其中的一部分。
那么,如果没有这些信息,我将如何在我的自定义表中为新用户创建一个CreateUser
条目MembershipProvider
?