自定义会员使用者只需参数
-
25-10-2019 - |
题
我更精确地构建了一个自定义成员hipshipprovider。
因此,我有一个自定义会员使用者。
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)
{
}
}
在MemberHippRovider的Getuser函数中,我获取用户数据并将其放入Custommemhipuser中。
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,
u.Email,
"",
"",
true,
false,
u.CreateDate,
DateTime.MinValue,
DateTime.MinValue,
DateTime.MinValue,
DateTime.MinValue);
return customUser ;
}
如您所见,我将电子邮件用作会员的名称,我不需要大多数其他参数。
有没有办法使呼叫更简单?我不想用空字符串和最小的日期值使会员使用者将会员人数化。
提前致谢
解决方案
您能适应您的Custommemhipuser为您做“填充”
public class CustomMemberShipUser : MembershipUser
{
public CustomMemberShipUser (
string email,
object providerUserKey,
): base(
"CustomMemberShipUser", email, providerUserKey, email, String.Empty,
String.Empty, true, false, DateTime.MinValue, DateTime.MinValue,
DateTime.MinValue, DateTime.MinValue, 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 ;
}
我认为您的Custommembershiper正在公开一些您没有向我们展示的其他属性。就目前而言,您可以返回会员使用者。上面的唯一受益者您的Custommemhipers为您提供的是您的Custommembershipprovider中更清洁的结构
不隶属于 StackOverflow