加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 仅包含所需参数的自定义MembershipUser

发布时间:2020-12-16 10:00:31 所属栏目:asp.Net 来源:网络整理
导读:我正在构建一个自定义MembershipProvider更精确的GetUser函数. 因此我有一个自定义MembershipUser. public class CustomMemberShipUser : MembershipUser{ public CustomMemberShipUser ( string providerName,string email,object providerUserKey,string n
我正在构建一个自定义MembershipProvider更精确的GetUser函数.

因此我有一个自定义MembershipUser.

public class CustomMemberShipUser : MembershipUser
{
    public CustomMemberShipUser (
        string providerName,string email,object providerUserKey,string name,string passwordQuestion,string comment,bool isApproved,bool isLockedOut,DateTime creationDate,DateTime lastLoginDate,DateTime lastActivityDate,DateTime lastPasswordChangedDate,DateTime lastLockoutDate
        ): base(
            providerName,email,providerUserKey,name,passwordQuestion,comment,isApproved,isLockedOut,creationDate,lastLoginDate,lastActivityDate,lastPasswordChangedDate,lastLockoutDate)
    {
    }
}

在MembershipProvider的GetUser函数中,我获取用户数据并将它们放入CustomMemberShipUser.

public override MembershipUser GetUser(string email,bool userIsOnline)
    {
        User u = _db.Users.Where(x => x.Email == email).First();
        CustomMemberShipUser customUser = new CustomMemberShipUser (
                                        "CustomMemberShipUser ",u.Email,u.id,"",true,false,u.CreateDate,DateTime.MinValue,DateTime.MinValue);
        return customUser ;
    }

如您所见,我使用电子邮件作为MemberShip的名称,我不需要大多数其他参数.

有没有办法让电话更简单?我不想使用空字符串和最小日期值初始化MembershipUser.

提前致谢

解决方法

你可以调整你的CustomMembershipUser为你做’填充’

public class CustomMemberShipUser : MembershipUser
    {
        public CustomMemberShipUser (
            string email,): base(
                "CustomMemberShipUser",String.Empty,DateTime.MinValue)
        {
        }
    }

它不能解决问题,但会整理你的提供商

public override MembershipUser GetUser(string email,bool userIsOnline)
    {
        User u = _db.Users.Where(x => x.Email == email).First();
        CustomMemberShipUser customUser = new CustomMemberShipUser (u.Email,u.id);
        return customUser ;
    }

我假设您的CustomMembershipUser正在暴露您未向我们展示的一些其他属性.就目前而言,您可以返回MembershipUser.有了上述内容,您的CustomMembershipUser为您提供的唯一好处是CustomMembershipProvider中的清洁构造

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读