我按照这篇文章
使用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的区别么?还是我的操作有问题?
拉丁的传说
随时随地看视频慕课网APP
相关分类