在.Net Core中,控制器属性[AllowAnonymous]允许您设置控制器以允许未登录的用户访问控制器 .
有没有办法做相反的事情,要求用户登录?没有给所有用户一个角色,然后用[Authorize(Roles =“WarmBody”)]检查每个控制器,我看不到如何要求登录?
您应该添加自定义策略过滤器
public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMvc(config => { var policy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .Build(); config.Filters.Add(new AuthorizeFilter(policy)); }); //other code ... } //other code ... }
或者为每个控制器设置 [Authorize] 属性
[Authorize]
您不需要基于角色的授权,只需使用控制器上的 [Authorize] 属性或要限制登录用户的操作 .
https://docs.microsoft.com/en-us/aspnet/core/security/authorization/simple
2 回答
您应该添加自定义策略过滤器
或者为每个控制器设置
[Authorize]
属性您不需要基于角色的授权,只需使用控制器上的
[Authorize]
属性或要限制登录用户的操作 .https://docs.microsoft.com/en-us/aspnet/core/security/authorization/simple