我已经在谷歌上搜索了大约 30 分钟,但无济于事。这似乎是直截了当的。但基本上,我通过Memebership.CreateUser(...)
. 我需要设置用户的地址、城市、州等。我想这将是用户的个人资料。是否没有Membership
我可以用来执行此操作的 .NET 包装器(如 )?我到底该如何设置这些信息?
2 回答
您应该在 web.config 中配置 ProfileProvider。
稍后在您的代码中,您可以为该用户创建一个配置文件,并设置所需的属性(姓名、地址等)。这是 Scott Mitchell 编写的关于ASP.NET 的成员资格、角色和配置文件的教程
Profile Providers 有不同的实现,你也可以自己做一个。
我建议您尝试使用 Sql Stored Procedure Profile Provider 或 Table Profile Provider。
该框架提供SqlProfileProvider。您可以在提供的链接中阅读它。
它说“定义您的 Profile 属性后,ASP.NET 引擎自动创建一个ProfileCommon类,该类的属性映射到 Web.config 中定义的属性(允许 IntelliSense 和编译时类型检查)。这个类是动态重新创建的每当修改 Web.config 中定义的属性时..."
“自定义 ProfileCommon 类可通过 HttpContext 对象的Profile属性在 ASP.NET 页面的代码部分中访问。例如,要从 ASP.NET 页面读取当前登录用户的 HomepageUrl 属性,只需使用 Profile.HomepageUrl.. 。”
但是使用SqlProfileProvider并不是一个好的实现,因为它将所有自定义属性(例如地址、电话等)保存在单行的两列中。这就是为什么我建议调查存储过程或表配置文件提供程序。
您可以创建另一个表并使用外键作为 UserId 即 UniqueIdentifier 和 aspnet_Users 表中使用的相同。
使用 UserId,您可以使用这个新创建的 table.bcoz asp_net_membership 表来管理所有成员表,该表已经与 aspnet_user 表链接。
当会员创建用户的状态为成功时,则在新创建的表中创建一行。