MVC Web App Windows Auth (интрасеть) и учетные данные if (Интернет)

1

Наш клиент попросил у нас сделать наше веб-приложение доступным из Интранета и Интернета. Когда пользователь попытался получить доступ к веб-сайту из Интранета, пользователь должен войти в систему немедленно (Windows Auth)... Пользователь должен иметь открытый доступ (например, Home, Coffee shop), но в этом случае он должен использовать свои учетные данные и сервер проверяет, действительно ли это.

Все советы?

  • 0
    Это сложно, потому что IIS обычно фильтрует запросы Windows Auth. Я думаю, что вам нужно будет создать службу входа в систему, которая проверяет запрос и перенаправляет в основное приложение (если вы находитесь в интрасети) или на страницу входа в систему (если вы находитесь в Интернете).
  • 0
    Так вы думаете, что я должен использовать два URL :(? Один для интранета, а другой для Интернета?
Показать ещё 2 комментария
Теги:
asp.net-mvc
windows-authentication
forms-authentication

2 ответа

1

Это стандартный способ интегрированной проверки подлинности Windows. Если вы находитесь внутри интрасети (зарегистрировались в домене), IE автоматически отправит ваши учетные данные, когда веб-сайт вернет 401.2 (не указан метод auth). Когда вы не находитесь в домене, необходимо будет получить учетные данные, поскольку с сервера клиента нельзя связаться с клиентским компьютером.

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

  • 0
    Извините за опоздание ... На самом деле клиент хочет добавить свои учетные данные, если он находится в Интернете, с возможностью выхода из системы в интрасети и Интернете !!!
0

Мы решили вообще не использовать Windows Auth. Клиент хочет остаться в системе, если он находится в Интранете. поэтому мы сделали следующее (и клиент в порядке с этим)

  1. Формы Auth + 'Keep me logged in' checkbox
  2. Проверка учетных данных с помощью AD.
  3. Проверьте, находится ли пользователь в доверенном диапазоне IP-адресов (что-то вроде разрешенных IP-адресов в SQL Azure)
  4. Если доверенный диапазон IP, пользователь становится аутентифицированным.
  5. Если его нет, два фактора auth, отправив SMS.

Еще одна причина не использовать Windows Auth. Пользователь хочет выйти из системы в любое время, чтобы использовать разные учетные данные для выполнения некоторых специальных задач.

Обычно клиенты не знают, чего именно хотят, поэтому мы начнем мечтать и усложнить ситуацию. "Просто заставляет меня войти в систему" для доверенных IP-адресов, и он останется в системе в течение N дней.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню