это моё решение
customerUser.cs
public class DZMembership
{
public virtual Guid Id { get; set; }
public virtual string UserName { get; set; }
public virtual string Password { get; set; }
public virtual DateTime TimeCreated { get; set; }
}
customerProvider.cs
public class DZMembershipProvider : MembershipProvider
{
IDALMembership dal = DalFactory.GetDalMembership();
#region override of membership provider
public override string ApplicationName
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
public override bool ChangePassword(string username, string oldPassword, string newPassword)
{
DZMembership member = dal.GetMemberByName(username);
string encryptedOldPsw = FormsAuthentication.HashPasswordForStoringInConfigFile(oldPassword, "MD5");
string encryptedNewPsw = FormsAuthentication.HashPasswordForStoringInConfigFile(newPassword, "MD5");
if (member.Password != encryptedOldPsw) return false;
member.Password = encryptedNewPsw;
dal.ChangePassword(member);
return true;
}
public override MembershipUser GetUser(string username, bool userIsOnline)
{
DZMembership user = dal.GetMemberByName(username);
if (user == null) return null;
MembershipUser mu = new MembershipUser("DZMembershipProvider",
username, user.Id, "", "", string.Empty,
true, true, DateTime.Now,
DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);
return mu;
}
когда метод должен возвращать тип MembershipUser, создайте новый с информацией вашего клиента. в большинстве случаев все будет хорошо. потому что встроенные элементы управления (login, loginstatus.) не требуют больше, чем те. но я предлагаю настроить вашего ownuser, унаследовав MembershipUser, дополнительные свойства не будут кусать вас, но недостаток будет.