Надеюсь, я правильно понял ваш вопрос, и вы хотите ввести имя пользователя и пароль вместо адреса электронной почты и пароля.В этом случае вам потребуется реализовать собственный настраиваемый поставщик членства и настраиваемый поставщик ролей, если это необходимо.
Вы хотите проверить следующую страницу для получения дополнительной информации:
Пользовательский поставщик членства @Codeproject
РЕДАКТИРОВАТЬ Fyi вам не нужно реализовывать каждую функцию - просто реализовать те, которые вам нужны.Пользовательское членство провайдера из некоторых моих старых проектов mvc3.Удалены большинство не реализованных функций для более короткого кода:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
namespace Domain.Models
{
public class PlatformMembershipProvider : MembershipProvider
{
public SalesModelContainer ******** = new SalesModelContainer();
public override bool ChangePassword(string username, string oldPassword, string newPassword)
{
var user = ********.UserSet.Single(s => s.Email == username);
if (user.Password == oldPassword)
{
user.Password = newPassword;
return true;
}
else
{
return false;
}
}
public override string GetUserNameByEmail(string email)
{
var user = ********.UserSet.Single(s => s.Email == email);
return user.CompanyName;
}
public override void UpdateUser(System.Web.Security.MembershipUser user)
{
throw new NotImplementedException();
}
//TODO: use MD5 for password encryption
public override bool ValidateUser(string username, string password)
{
bool returnValue;
var user = ********.UserSet.SingleOrDefault(s => (s.Email == username) && (s.Password == password));
if (user != null)
returnValue = true;
else
returnValue = false;
return returnValue;
}
}
}