IsAuthenticated of Request является ложным внутри политики Glimpse, даже если я вошел в систему

Я создаю сайт с помощью ASP.NET MVC 5 и хотел бы защитить Glimpse с помощью существующего уровня безопасности, ролей MVC 5. Взгляд версии 1.8.6

Я написал свою реализацию IRuntimePolicy, основанную на примере кода. Когда я запускаю свой код, свойство запроса IsAuthenticated всегда имеет значение false. Даже когда я вошел в систему (в контроллере это свойство истинно). Может ли кто-нибудь помочь мне, что я делаю неправильно? Я думал, что установка Glimpse:DisableAsyncSupport в настройках приложения поможет, но это не помогло.

Это моя реализация IRuntimePolicy

    public RuntimePolicy Execute(IRuntimePolicyContext policyContext)
    {
        var userManager = new UserManager(new UserStore<MyUser>(new ApplicationDbContext()));
        var httpContext = HttpContext.Current;

        if (httpContext.Request.IsAuthenticated) //ALWAYS FALSE, EVEN WHEN IM LOGGED IN
        {
            var userId = httpContext.User.Identity.GetUserId(); //User is null
            if (userManager.IsInRole(userId, "Admin"))
                return RuntimePolicy.On;
        }

        return RuntimePolicy.Off;
    }

person vmachacek    schedule 06.07.2015    source источник
comment
Можете ли вы сообщить нам, когда происходит аутентификация вашего пользователя? Похоже, что это происходит после выполнения политики или что флаг isAuthenticated не установлен.   -  person nikmd23    schedule 06.07.2015
comment
Я использую ASP.NET Identity 2.0, который поставляется с asp.net mvc 5. Я вообще не устанавливаю этот флаг, Identity framework позаботится об этом за меня.   -  person vmachacek    schedule 06.07.2015


Ответы (1)


Вы должны добавить <modules runAllManagedModulesForAllRequests="true" /> или добавить precondition="managedHandler" для своего модуля. Подробнее см. здесь: введите здесь описание ссылки. первый вариант.

person jhexp    schedule 09.07.2015