Несколько поставщиков членства в ASP.NET (web.config + sql) - PullRequest
1 голос
/ 01 апреля 2011

Я знаю, что этот вопрос уже задавался (и отвечал) уже много, но я считаю, что моя ситуация уникальна.

Мы используем ASP.NET SqlMembershipProvider.Однако у нас также есть некоторый менее безопасный контент, который мы хотели бы защитить, добавляя пользователей непосредственно в web.config, например так ...

<forms loginUrl="login.aspx" defaultUrl="default.aspx">
  <credentials passwordFormat="Clear">
    <user name="user1" password="123" />
    <user name="user2" password="456" />
  </credentials>
</forms>

Возможно ли использовать этот метод наряду с членством в SQLПровайдер?Если да, то как?

Я знаю, что это плохая практика.Это только ступенька, когда мы перемещаем части нашего сайта в приложение asp.net.Мы хотели бы, чтобы некоторые из этих паролей можно было легко редактировать, не заходя в базу данных.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

Я нашел свой ответ здесь: ASP.NET - контроль входа с учетными данными в файле web.config

Для моей логики ValidateUser мне нужно было использовать:

if (_provider.ValidateUser(username, password)) {
  return true;
}
else {
  return FormsAuthentication.Authenticate(username, password);
}

Я знал, как проходить аутентификацию с использованием провайдера, но ключом было предложение ELSE и аутентификация с использованием учетных данных web.config.

0 голосов
/ 01 апреля 2011

Мы хотели бы, чтобы некоторые из этих паролей можно было легко редактировать, не заходя в базу данных.

Что это за логика, которую я не понимаю.Почему вам нужно два из них, в то время как у вас есть встроенная функция, чтобы легко сменить пароль в поставщике членства.

Теперь вы можете использовать оба одновременно, но вам понадобится механизм, чтобы решить, когда вы будете использовать то или другое.необходимо выполнить двойную аутентификацию, т.е. сначала проверить пользователя по web.config, а в случае неудачи - по БД членства.

Но если у вас есть другие вещи, явно зависящие от членства, некоторые из этих вещей не будут работатьна Вашем сайте.

Так что аутентификация, да, это выполнимо, как вы хотите.

...