我正在实现我的自定义成员身份提供程序,我需要实现一些额外的字段(如名字,姓氏,国家等)。
我知道可以扩展MembershipUser类,并在从提供程序返回用户对象时进行转换。 但我找不到如何执行以下操作以及是否可能在用户注册期间创建新用户
这真的可能吗? 如果是,请问该如何实现?
谢谢
更新 MSDN文章说:
我知道可以扩展MembershipUser类,并在从提供程序返回用户对象时进行转换。 但我找不到如何执行以下操作以及是否可能在用户注册期间创建新用户
Membership.CreateUser(...)
时将这些自定义属性传递给我的提供程序。这真的可能吗? 如果是,请问该如何实现?
谢谢
更新 MSDN文章说:
然而,此重载不会由Membership类或依赖于Membership类的控件(例如CreateUserWizard控件)调用。 要从应用程序调用此方法,请将由Membership类引用的MembershipProvider实例转换为您的自定义成员身份提供程序类型,然后直接调用CreateUseroverload。
在这种情况下,Membership
是对类的实例的引用,同时它本身也是一个类。((CustomMembershipProvider)Membership).CreateUser(...);
nor
(CustomMembershipProvider)Membership.CreateUser(...);
工作。
在这种情况下,我应该如何转换它?
更新:请查看我的答案。
Membership.CreateUser()
时,它只有标准方法签名,如果我重写我的提供程序的CreateUser()
方法,我的方法将不会显示在列表中。 - Burjua