У меня есть два веб-приложения, которые разделяют таблицы членства ASP.Net.
Все работает отлично, кроме того, что я не могу удалить чувствительность к регистру в одном приложении, как я делаю это в другом.
в нерабочем приложении
void Login1_LoggingIn(object sender, LoginCancelEventArgs e)
{
string username = Login1.UserName.Trim();
if (!string.IsNullOrEmpty(username))
{
MembershipUser user = Membership.GetUser(username);
if (user != null)
{
// Only adjust the UserName if the password is correct. This is more secure
// so a hacker can't find valid usernames if we adjust the case of mis-cased
// usernames with incorrect passwords.
string password = Login1.Password.ToUpper();
if (Membership.ValidateUser(user.UserName, password))
{
Login1.UserName = user.UserName;
}
}
}
}
не работает. пароль хранится в верхнем регистре. Преобразован в момент создания пользователя членства!
Так что, если пароль - ПАРОЛЬ, ввод ПАРОЛЯ позволяет мне проходить аутентификацию. но вводить пароль нет! Хотя я вижу, что отправляемая строка - это ПАРОЛЬ (преобразуется с помощью toUpper ()).
Я в полном недоумении по этому поводу ... в другом приложении я могу ввести нижний или верхний или смешанный текст, и я могу аутентифицироваться В другом приложении я не использую текстовые поля из входа управления, хотя .. не уверен, если это имеет значение ??