Есть два домена (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>