NET Core中如何要求非匿名用户?

在.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]属性

上一篇:Substrate构建联盟链


下一篇:【接入指南】华为帐号服务Authorization Code模式介绍与接入步骤详解