【发布时间】:2011-12-26 18:46:33
【问题描述】:
参考文献
http://msdn.microsoft.com/en-us/library/6tc47t75%28v=VS.80%29.aspx
http://msdn.microsoft.com/en-us/library/ms366730.aspx
问题
在标题Create a Custom Membership Provider 正下方的第二个链接中,您会注意到他们提到了这一点
您需要创建一个支持 您的自定义会员用户类型和您的自定义会员数据 店铺。自定义成员的 GetUser 和 CreateUser 方法 可以编写提供程序以返回自定义成员资格的对象 用户类型。
下面是我的自定义会员用户,带有自定义字段
自定义会员用户
public class CustomMembershipUser : MembershipUser
{
//private fields for internal use
private bool _isMarried;
private bool _hasLicense;
private string _address;
private int _userId;
//public fields for use by end user
public int UserId
{
get { return _userId; }
set { _userId = value; }
}
...
自定义成员资格提供程序
public class CustomMembershipProvider : MembershipProvider
{
.....
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
throw new NotImplementedException();
}
....
我完全按照他们告诉我的去做,像这样返回我的自定义类型的会员用户
public override **CustomMembershipUser** CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
但后来我被 IDE 抱怨说 覆盖 MembershipProvider.CreateUser 时无法更改返回类型。那我现在该怎么办,
- 创建另一个具有相同参数的方法并返回自定义会员用户?
- 我不需要密码问题,安全问题字段我如何摆脱它们?
【问题讨论】:
标签: c# asp.net-membership overriding membership-provider membershipuser