在asp.net核心中忽略了默认路由的授权

时间:2018-06-19 09:15:49

标签: asp.net-core authorization

我已经设置了一个考虑查询参数的AuthorizationHandler。我已将它添加到startup.cs中,如此:

 services.AddMvc(o =>
                {
                    o.Filters.Add(new AuthorizeFilter("Policy"));
                });

它在所有情况下都能正确触发,但只有一个。我有默认路由设置:

app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=default}/{action=Index}/{id?}");
        });

如果我请求http://host/default?parameter=1,授权可以正常运行。

如果我请求http://host?parameter=1,它会按预期重定向到http://host/default?parameter=1,但会跳过授权。

我尝试在默认控制器和Index方法中添加[Authorize(Policy =“Policy”)]装饰,但它没有任何改变。

在这种情况下如何进行授权触发?

0 个答案:

没有答案