Проверка подлинности Windows для ASP.NET MVC 4-как это работает, как его протестировать

Я никогда не использовал проверку подлинности Windows дляASP.NET MVC веб-приложения раньше, но проверка подлинности форм. Недавно у меня был ASP.NET веб-приложение MVC 4, которое требует реализации проверки подлинности Windows для пользователей, которым разрешено входить в веб-сервер моей компании. Итак, у меня есть некоторые вопросы относительно проверки подлинности Windows. Я использую Visual Studio 2012.

  • Как выполняется проверка подлинности Windows работа?

  • Как правильно реализовать проверку подлинности Windows в интернете.файл config?

  • Как проверить, действительно ли проверка подлинности Windows работает для моего ASP.NET веб-сайт MVC 4? Другими словами, как я могу проверить его на своем локальном ПК разработки с local IIS (версия 8), а на моем реальном веб-сервере компании с IIS версии 7?

3 ответов


для IIS 8.5 и MVC 4:

как работает проверка подлинности Windows?

в этом режиме User.Identity (например,HttpContext.Current.User.Identity) заполняется базовым веб-сервером. Это может быть IIS Express по ссылке из @R Kumar, или full blown IIS, как в видео от @Thomas Benz.

В Частности, Пользователей.Identity-это объект WindowsIdentity. Е. Г. следующим составом будет работать:

WindowsIdentity clientId = (WindowsIdentity)HttpContext.Current.User.Identity;

как реализовать Windows Правильная аутентификация в интернете.файл config?

  <system.web>
    <authentication mode="Windows" />
  ...

Как проверить, действительно ли проверка подлинности Windows работает для моего ASP.NET веб-сайт MVC 4? Другими словами, Как протестировать его на локальном компьютере разработки с локальными IIS (версия 8) и на реальном веб-сервере моей компании с IIS версии 7?

во-первых, измените ASP.NET авторизация для исключения текущего пользователя. Е. Г.

  <system.web>
    <authentication mode="Windows" />
    <authorization>
      <allow users="yourdomain\someotheruser" />
      <deny users="*" />
    </authorization>

во-вторых, включите проверку подлинности Windows для вашего сайт с помощью диспетчера IIS. Он находится под функцией "аутентификация". и отключить анонимную проверку подлинности.

обратите внимание, что более старое объяснение предложит вам внести изменения в элемент веб-сайта.конфиг. Однако последние реализации IIS предотвращают это по соображениям безопасности.

три в браузере веб-страницы. Браузер должен попросить вас предоставить учетные данные, так как текущий пользователь не имеет доступа на сайт. Обеспечить те, которые авторизованы для сайта, и ваш код MVC должен запускаться.

четыре, проверьте личность пользователя. Е. Г.

WindowsIdentity clientId = (WindowsIdentity)HttpContext.Current.User.Identity;

Я сделал это с ASP.NET MVC 1.0. Это было относительно давно. Я помню, что настройки IIS были запутанными. Я просто сделал некоторые проверки, и не похоже, что вещи сильно изменились ASP.NET MVC 4.0, что касается атрибутов на контроллерах.

вопросы:

  1. Как это работает? Следующие ссылки в значительной степени подводят итог довольно хорошо. проверка подлинности пользователей с помощью проверки подлинности Windows (C#) не совсем подходит для ASP.NET MVC 4.0, но у него есть некоторый фон.

    как создать сайт интрасети с помощью ASP.NET MVC для ASP.NET MVC 3.0.

    Я слишком Новичок, чтобы публиковать более двух ссылок, поэтому вам придется искать MSDN для "AuthorizeAttribute Class" для .NET Framework 4.

  2. какие настройки для web.конфиг? - Я просто помню, как менял один элемент " аутентификация режим."

  3. Что касается тестирования, мои версии ОС Windows соответствовали лучше, и моя машина разработки была в том же домене Windows. Но если я правильно помню, это сработало. YMMV, но одна вещь, которую я помню, рассматривал, была реализация моего собственного разрешения. Возможно, это путь для вашего случая, чтобы свернуть свой собственный, а затем переключиться на проверку подлинности Windows в производстве. Но я бы предложил пару тестовых итераций с тестовым сервером, если вы можете настройте его в домене компании.


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

видео с очень добрым плакат:

как реализовать проверку подлинности windows в ASP.NET приложение MVC 3 ( Model view controller)?