我想在createuser()方法Membership Provider中自定义参数,
实际上,我为拥有不同数据的用户提供了自己的数据存储,包括用户名,密码。
但是,createuser()不适合我的数据
任何人都可以帮助我!
答案 0 :(得分:4)
你可以这样做。
using System;
namespace SampleApplication.Models
{
using System.Web.Security;
public class SampleMembershipUser : MembershipUser
{
public int UserLevelId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string ApplicationName { get; set; }
public Guid UserId { get; set; }
public TASMembershipUser(
string providername,
string username,
object providerUserKey,
string email,
string passwordQuestion,
string comment,
bool isApproved,
bool isLockedOut,
DateTime creationDate,
DateTime lastLoginDate,
DateTime lastActivityDate,
DateTime lastPasswordChangedDate,
DateTime lastLockedOutDate,
int userLevelId,
string firstName,
string lastName,
string applicationName,
Guid userId) :
base(
providername,
username,
providerUserKey,
email,
passwordQuestion,
comment,
isApproved,
isLockedOut,
creationDate,
lastLoginDate,
lastActivityDate,
lastPasswordChangedDate,
lastLockedOutDate)
{
UserLevelId = userLevelId;
FirstName = firstName;
LastName = lastName;
ApplicationName = applicationName;
UserId = userId;
}
}
}
答案 1 :(得分:2)
只要您的提供程序是唯一使用的提供程序,您根本不需要通过ASP.NET调用CreateUser方法。只需在任何地方创建方法并正常调用它。
答案 2 :(得分:1)
微软的大量资源:
How to: Implement a Custom Membership User
上面链接中提到的另一个要记住的关键事项是,一旦你完成了创建自定义成员资格用户的工作,并且像CreateUser这样的方法的重载就是你调用Membership.CreateUser的方法,你需要将它转换为您的自定义会员提供商,如:
((CustomMembershipProvider)Membership.Provider).CreateUser(p1,p2 etc...)