MVC3 Переадресация на сайт Autms Forms после аутентификации пользователя Windows - PullRequest
0 голосов
/ 12 августа 2011

У меня есть веб-сайт MVC3, который сейчас использует проверку подлинности с помощью форм, и он отлично работает.Сайт требует, чтобы клиентские интернет-пользователи имели логин, который мы предоставляем.Кроме того, у меня есть несколько внутренних учетных записей пользователей для администрирования сайта.

Я подумываю о создании второго сайта в интрасети, к которому пользователи сети смогут перейти, который будет аутентифицировать их с помощью аутентификации Windows.Затем я хотел бы сопоставить пользователя Windows с одной из внутренних учетных записей пользователей, упомянутых выше.После аутентификации и сопоставления я хотел бы перенаправить их с этого сайта интрасети на интернет-сайт с помощью только что сопоставленного входа в систему.

Я попробовал некоторые из смешанных решений для проверки подлинности Windows / Formsтам, но они не работают с MVC3 и IIS7, так как большинство из них были в значительной степени хаки, которые на самом деле не относятся к более поздним технологиям.по этой дороге?

Если так ... Как я могу перенаправить и передать логин на интернет-сайт с интранет-сайта?

Заранее спасибо, Джефф

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Вот один из способов:

Если у вас 2 сайта:

www.mywebsite.com и intranet.mywebsite.com

  1. Убедитесь, что все серверыиметь тот же в machine.config
  2. В разделе установить атрибут [domain] равным ".mywebsite.com"
  3. на интернет-сайте(после того как Windows Authentication идентифицировала пользователя), используйте API FormsAuthentication, чтобы установить файл cookie FormsAuthentication, который затем будет действителен на внешнем сайте.

    FormsAuthentication.SetAuthCookie(currentUser.Name, false);
    

После установки файла cookie FormsAuthentication внешний сайт увидит, что пользователь вошел в систему точно так же, как если бы он вошел в систему с помощью FormsAuthentication на внешнем сайте.

PS Также убедитесь, что KB2416472 установлен на всех компьютерах (это обновление для уязвимости проверки подлинности с помощью форм)

0 голосов
/ 12 августа 2011

Пожалуйста, смотрите мой ответ здесь:

Как повысить роль в ASP.net От анонимной до аутентификации Windows?

Я не нашел способа сделать это в IIS 7. Это кажется неправильным дизайном, потому что IIS 6 это разрешил.

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