自定义成员身份提供程序时如何管理ProviderUserKey
本文关键字:何管理 管理 ProviderUserKey 身份 成员 程序 自定义 | 更新日期: 2023-09-27 18:19:51
我正在用我的自定义成员身份提供程序覆盖asp.net成员资格提供程序。我想知道在我的用户模型中,我必须为ProviderUserKey设置什么类型?
我试过这个:
public class User
{
[Key]
public ????? ProviderUserKey { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public string PasswordQuestion { get; set; }
...
}
我不知道在创建新用户时如何生成新的ProviderUserKey值。有什么想法吗?
根据虚拟属性,应该是
public Object ProviderUserKey { get; set; }
对于您的第一个问题:
我想知道我必须为我的我的用户模型中的ProviderUserKey?
来自MemorshipUser类的MSDN页面:
标识符的类型取决于MembershipProvider或MembershipUser。在SqlMembershipProvider的情况下ProviderUserKey可以强制转换为Guid,因为SqlMembershipProvider将用户标识符存储为UniqueIdentifier。
因此,这取决于如何存储用户标识符(如int/guid/varchar等)。您将其键入为Object
,但根据您的实现将其强制转换为正确的数据类型。
第二个问题:
我不知道如何在创建时生成新的ProviderUserKey值新用户。知道吗?
当您创建新用户,并将其添加到存储它们的任何位置(关系数据库、XML文件等)时,检索该过程生成的唯一标识符。如果您当时没有生成唯一的用户标识符。。。您需要=)