Проверка подлинности IIS MVC - доверенный домен - PullRequest
0 голосов
/ 14 декабря 2018

Есть два домена (A и B).Два домена находятся в доверительных отношениях.В домене A есть веб-сервер IIS.

В Visual Studio я создал проект MVC, и он настроен в Controller для аутентификации Windows.Я читаю данные, как это:

  • u = System.Web.HttpContext.Current.User.Identity.Name.ToLower ();

Пользователь в домене Aназывается Алекс.Пользователь в B - Бен.

Если Алекс открывает страницу со своего компьютера (компьютер находится в домене A), то все работает хорошо.

  • Автоматически приходит A \ Alex

Если Бен открывает страницу со своего компьютера (компьютер находится в домене B), то:

  • По умолчанию это окна аутентификации!Но если я предоставлю эти данные, все будет работать нормально.

    • A \ Alex + пароль: OK
    • B \ Ben + пароль: OK
  • Я даже пытался:

    • Алекс + пароль: OK
    • Бен + пароль: Это было не очень хорошо (но веб-сервер находится в домене A, поэтомубез проблем)
  • И если я добавлю страницу в IE / Security в «Локальная интрасеть», то:

    • Автоматически поступит в B \ Ben

Пока все отлично и работает соответственно.Я не могу найти решение для следующего (и перепробовал много вещей ...)

Если мы используем независимый компьютер из третьего домена или даже мобильный телефон, то:

  • Запрос аутентификации:

    • A \ Alex + пароль: OK
    • Alex + пароль: OK (до этого момента все, как я ожидал!)
    • B \ Ben + пароль: НЕ ОК (ПОЧЕМУ?!?!?)

Есть идеи, в чем может быть проблема?Заранее благодарю за помощь!

РЕДАКТИРОВАТЬ: В контроллере есть:

[Authorize]
public class HomeController : Controller
 {

web.config:

<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<authentication mode="Windows" />
<authorization>
<allow users="*" />
<deny users="?" />
</authorization>
<identity impersonate="true" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
<customErrors mode="Off" />
</system.web>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...