即使我已登录,但是在Glimpse策略中,IsAuthenticated of Request是错误的

时间:2015-07-06 13:22:31

标签: asp.net-mvc glimpse

我正在使用ASP.NET MVC 5构建站点,并希望通过现有的安全层MVC 5角色来保护Glimpse。 Glimpse是版本1.8.6

我编写了我的IRuntimePolicy实现,源自示例代码。当我通过我的代码运行时,请求的IsAuthenticated属性始终为false。即使我已登录(在控制器中此属性为true)。任何人都能帮我解决我做错的事吗?我认为在应用设置中设置 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;
    }

1 个答案:

答案 0 :(得分:2)

您必须为模块添加<modules runAllManagedModulesForAllRequests="true" />或添加precondition =“managedHandler”。请在此处查看更多解释:enter link description here第一个选项可能会遇到性能问题。