实施自定义会员用户和自定义会员提供程序 [英] Implementing Custom Membership user and Custom Membership Provider

查看:106
本文介绍了实施自定义会员用户和自定义会员提供程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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下的第二个链接中,您会注意到他们提到了

In the 2nd link precisely under heading Create a Custom Membership Provider you will note that they mention this

您将需要创建支持以下内容的自定义成员资格提供程序 您的自定义成员身份用户类型和自定义成员身份数据 店铺.自定义成员资格的GetUser和CreateUser方法 可以编写提供程序以返回自定义成员资格的对象 用户类型.

You will need to create a custom membership provider that supports both your custom membership user type, and your custom membership data store. The GetUser and CreateUser methods of the custom membership provider can be written to return objects of the custom membership user type.

下面是我的具有自定义字段的自定义成员身份用户

below is my custom membership user with custom fields

 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();
        }
....

我完全按照他们的要求去做,像这样返回我的自定义类型的会员用户

I did exactly what they told me to do, return membership user of my custom type like this

public override **CustomMembershipUser** CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)

但是后来我被IDE抱怨 在覆盖MembershipProvider.CreateUser时无法更改返回类型.那我现在该怎么办,

but then i was complained by the IDE that Cannot Change return type when overriding MembershipProvider.CreateUser. So what am i supposed to do now,

  • 使用相同的参数创建另一个方法并返回自定义成员身份用户吗?
  • 我不需要密码问题,安全性问题字段,我该如何摆脱它们?

推荐答案

您需要在函数中返回MembershipUser实例,该实例是其返回类型.目前,它没有返回应该返回的内容.

You need to return a MembershipUser instance in the function which is the return type for it. Currently it isn't returning what it is supposed to return.

codeproject上有一个很好的教程:自定义成员资格提供者.您可能会发现它有助于您了解不正确的地方.

There is a good tutorial at codeproject : Custom Membership Providers. You might find it helpful in understanding where you aren't getting right.

这篇关于实施自定义会员用户和自定义会员提供程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆