Двойная проверка имени пользователя / пароля на сайте MVC? - PullRequest
0 голосов
/ 31 декабря 2011

Привет,

Я создал веб-сайт ASP.NET MVC, который использует членство, это прекрасно работает.Во время бета-тестирования сайтов мне нужно убедиться, что только бета-тестеры могут посещать мой веб-сайт, поэтому необходимо выполнить второй (действительно первый вход) логин.

Вопрос в том, как я могу сделать это как можно проще и быстрее, не используя текущие настройки членства?

Это нормально, если имя пользователя и пароль статичны / жестко закодированы, но важно, чтобы послевнешний вход в систему завершен, больше запросов на вход в систему не будет.Важно, чтобы текущее членство в MVC работало как раньше.

Ответы [ 2 ]

1 голос
/ 01 января 2012

К сожалению, режимы Forms и BasicAuthentication не работают вместе. Это связано с тем, что в HttpContext есть только одна переменная IPrincipal (IMHO, называемая User). Но если бы вы использовали две разные схемы аутентификации одновременно, последняя всегда победит. Вот почему это не поддерживается. Люди получат неожиданные результаты.

Но это можно сделать довольно легко: вам нужно реализовать базовую аутентификацию самостоятельно. Это можно сделать во время события BeginRequest. Вы можете подключить его в Global.asax (предпочтительно) или в модуле HTTP.

Реализация BasicAuth не сложна: http://en.wikipedia.org/wiki/Basic_access_authentication

Если вы хотите жестко закодировать учетные данные внутри базового кода авторизации, вам будет сделано 30 минут.

0 голосов
/ 14 января 2012

Я получил новую роль (тестер). Это было связано с большим количеством рефакторинга, но, похоже, работает очень хорошо.

Когда тестовый пользователь входит в систему и сайт находится в тестовом режиме, возвращаемый пользователь будет "" ведьмой, означающей отсутствие пользователя.

...