我按照这篇文章使用Identity Server 4建立Authorization Server建立了IdentityServer服务器。然后直接建了一个Web服务器,我没有使用文中提到的 [Authorize] 标签。自定义了一个认证筛选器。 public class IdentityFilter : IAuthorizationFilter
{ public void OnAuthorization(AuthorizationFilterContext context)
{if (!context.HttpContext.User.Identity.IsAuthenticated)
{
Console.WriteLine("need login");
} }
} 注册为全局筛选器,在ConfigureServices中添加 services.AddMvc(option => {
option.Filters.Add(typeof(IdentityFilter));
}); 筛选器可以正常过滤请求,控制台也能根据票据状态输出文字。然后我新建了一个控制器,给控制器加上 [AllowAnonymous] 属性 [AllowAnonymous] public class HomeController : Controller
{ public IActionResult Index()
{ return View();
}
} 感觉按照Framework套路应该这里就可以不用参与认证过滤但是通过调试发现,这里依旧在输出文字。 请问,大神这个是Core和Framework的区别么?还是我的操作有问题?
目前暂无任何回答
- 0 回答
- 0 关注
- 707 浏览
添加回答
举报
0/150
提交
取消