【问题标题】:Custom MemberShip Provider, override Create User自定义 MemberShip Provider,覆盖 Create User
【发布时间】:2012-03-28 15:06:39
【问题描述】:

我正在尝试通过覆盖 MemberShipProvider 类方法来创建自己的“CreateUser”。问题是 CreateUser 的数据类型为 MembershipUser,我对返回 MembershipUser 没有兴趣,我只想知道用户是否通过返回 bool 来创建。我怎样才能以最好的方式做到这一点?

public override MembershipUser CreateUser(string name, string email)
    {
        User u = new User
        {
            Email = email,
            Name = name
        };
        gdb.Users.InsertOnSubmit(u);
        try
        {
            gdb.SubmitChanges();
            MailSender.NewMember("hej hopp");
        }
        catch
        {
            return false;
        }
    }

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    当您编写自定义成员资格提供程序时,您必须尊重基类中定义的方法的签名。所以你必须返回一个MembershipUser 的实例。如果在您的应用程序中您不使用 CreateUser 方法的返回值做任何事情,您可以返回 null 或 MembershipUser 的实例,您只填充您希望在构造函数中使用的字段。

    【讨论】:

    • 就是这样,当我一开始注册用户时,我没有足够的信息来填充 MembershipUser 的构造函数,所以我无法返回 MemreshipUser 对象。
    • 然后只使用您拥有的信息。 IIRC MembershipUser 构造函数的参数大部分是可选的。
    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    相关资源
    最近更新 更多