Я уже пробовал Использовать анонимную аутентификацию в MVC4 на одном контроллере, когда все приложение использует Windows Authenticaion и IIS смешанную анонимную аутентификацию и аутентификацию Windows , пока не получилосьМне нужно случиться.
У нас есть приложение MVC в нашей сети.Внутренне он должен использовать проверку подлинности Windows, и мы используем атрибут [AuthorizeByRole(param[] Role roles)]
во многих наших представлениях / контроллерах.
Однако нам также необходимо, чтобы внешние пользователи имели доступ к приложению.У нас есть подрядчики и врачи, у которых нет учетных данных AD, плюс мобильное приложение использует анонимный бэкэнд API.
Что мне нужно сделать: Внутренние пользователи: автоматический вход в систему с использованием проверки подлинности Windows, приятный и простой. Внешние пользователи: вызов учетных данных Windows (что и происходит) - если они нажимают кнопку отмены, они становятся анонимным пользователем и могутпо-прежнему просматривайте приложение.
Что происходит сейчас: при нажатии кнопки отмены они перенаправляются на стандартную страницу asp.net 401, а не на страницу гостя.Кроме того, мобильный бэкэнд просто автоматически получает 401 и вообще не может использовать API.
Есть мысли?
дополнительная информация
ВотУ меня есть пример решения
В моем файле web.config у меня есть:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
В IIS у меня есть 
В моем контроллере API я поместил [AllowAnonymous]
и на контроллер, и на мой метод GetKey
. На моем телефоне я захожу в / api / Auth / GetKey, и у меня запрашиваются учетные данные AD.Когда я нажимаю «Отмена», я перенаправляюсь на страницу 401.