Несанкционированный запрос ASP.Net Mvc Core Project не перенаправляет на страницу входа

Я реализую настраиваемую аутентификацию в проекте ASP.Net Core без идентификации.

Я включил CookieAuthentication непосредственно перед UseMvc

app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
   AuthenticationScheme = "Cookie",
   LoginPath = new PathString("/Account/Login/"),
   AccessDeniedPath = new PathString("/Account/Forbidden/"),
   AutomaticAuthenticate = true,
   AutomaticChallenge = true
});

Добавить авторизацию для настраиваемой политики

services.AddAuthorization(options =>
{
   options.AddPolicy("CustomPolicy",
        policy => policy.RequireClaim("CustomClaim"));
 });

А в домашнем контроллере я использовал соответствующий атрибут авторизации

[Authorize(Policy = "CustomPolicy")]
public class HomeController : Controller { }

Я ожидал, что меня перенаправят на /Account/Login/ каждый раз, когда я попытаюсь получить доступ к /Home/Index, но получаю только 401.

Я следил за этими двумя уроками:

Что мне не хватает?


Обновление: эта проблема существует только тогда, когда я использую IIS для запуска приложения, из exe перенаправление работает правильно.


person Menelaos Vergis    schedule 28.11.2016    source источник
comment
Заинтересовавшись этим, я недавно обновил приложение производственной среды до последней версии NET Core, и IIS больше не перенаправляет на действие Account/Login, тогда как запуск веб-приложения вручную через исполняемый файл выполняет перенаправление. Я бы посоветовал запустить exe и посмотреть, относится ли это также к вашему приложению.   -  person ColinM    schedule 29.11.2016
comment
@ColinM Вы правы, и спасибо, что представили это в моей перспективе. Обычно он перенаправляется на страницу входа, когда я запускаю exe. Вы нашли решение? Я предполагаю, что подозреваемый - это web.config, возможно, ему нужен элемент <authentication mode="Forms">.   -  person Menelaos Vergis    schedule 29.11.2016
comment
Я собираюсь попробовать режим проверки подлинности в конфигурации, когда закончу работу через несколько часов, я не вижу, что изменилось между этим и предыдущим выпуском библиотек NET Core, что могло привести к этому.   -  person ColinM    schedule 29.11.2016
comment
Я только что попробовал, но не перенаправил.   -  person Menelaos Vergis    schedule 29.11.2016
comment
Вы проверили журналы IIS, чтобы узнать, что он сообщает с 401? Я думаю, что он может использовать ожидаемые страницы ошибок IIS.   -  person ColinM    schedule 29.11.2016
comment
Я обновил все пакеты nuget, и теперь он работает и в IIS! Я думаю, это была ошибка, которая сейчас исправлена.   -  person Menelaos Vergis    schedule 29.11.2016
comment
Поскольку это решило обе наши проблемы, я предлагаю добавить это в качестве ответа.   -  person ColinM    schedule 01.12.2016


Ответы (1)


Я обновил все пакеты nuget, и это решило все проблемы.

person Menelaos Vergis    schedule 02.12.2016