コード例 #1
0
        public static IPolicyClientBuilder AddRequiredPlatformServices(this IPolicyClientBuilder builder)
        {
            builder.Services.AddOptions();
            builder.Services.AddSingleton(p => p.GetRequiredService <IOptions <PolicyClientOptions> >().Value);

            return(builder);
        }
コード例 #2
0
        public static IPolicyClientBuilder AddAuthorizationPermissionPolicies(this IPolicyClientBuilder builder)
        {
            builder.Services.AddAuthorization();
            builder.Services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            builder.Services.AddTransient <IAuthorizationPolicyProvider, DefaultPolicyServerAuthorizationPolicyProvider>();
            builder.Services.AddTransient <IAuthorizationHandler, DefaultPolicyServerPermissionHandler>();

            return(builder);
        }
コード例 #3
0
        public static IPolicyClientBuilder AddPolicyClient(this IServiceCollection services)
        {
            IPolicyClientBuilder builder = services.AddPolicyClientBuilder();

            builder
            .AddRequiredPlatformServices()
            .AddAuthorizationPermissionPolicies();

            return(builder);
        }
コード例 #4
0
        public static IPolicyClientBuilder AddLocalServices(this IPolicyClientBuilder builder, Action <LocalServiceOption> optionsAction)
        {
            LocalServiceOption options = new LocalServiceOption();

            builder.Services.AddSingleton(options);
            optionsAction?.Invoke(options);

            builder.Services.AddTransient <IPolicyClientService, DefaultPolicyLocalService>();

            return(builder);
        }
コード例 #5
0
        public static IPolicyClientBuilder AddClientServices(this IPolicyClientBuilder builder)
        {
            builder.Services.AddTransient <IPolicyClientService, DefaultPolicyClientService>();

            return(builder);
        }