Почему ASP NET Identity возвращает 401 вместо переадресации на LoginPath?

Пытаюсь в существующий проект MVC5 добавить ASP NET Identity. Используется code first, всё уже готово, таблицы с пользователями, ролями и прочим сами сгенерировались и заполнились нужными ролями и пользователями указанными в Seed.

Вот мой Startup.cs, в котором, по идее, запускается процесс авторизации

[assembly: OwinStartupAttribute(typeof(CarWashApplication.Startup))]
namespace CwProject
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
        public void ConfigureAuth(IAppBuilder app)
        {
            app.CreatePerOwinContext(CwDb.Create);
            app.CreatePerOwinContext<AppUserManager>(AppUserManager.Create);
            app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
            
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath = new PathString("/Account/Login"),
            });
        }
    }
}


Авторизацию я сделал по образу и подобию авторизации из проекта, который генерируется студией при создании нового проекта.
Авторизацию я добавляю через аттрибут, например [Authorize(Roles = "Manager")]
Авторизация нужна только локальная, без всяких сторонних сервисов и двух факторов.

Может я забыл где то что-то добавить, чтобы авторизация заработала?
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
byte916
@byte916 Автор вопроса
Я нашёл решение. Я просто добавил библиотеку Microsoft.Owin.Host.SystemWeb в проект, и всё заработало. Странно, что ни в одном солюшене и инструкции "как начать использовать identity" не было ни слова про эту библиотеку.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы