/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Security/samples/CustomAuthorizationFailureResponse/Startup.cs
66 строк
2 KB
Pranav K
Use file scoped namespaces (#38076)
06 ноя 2021, 03:52
Не верифицирован
06 ноя 2021, 03:52
a450cb6
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using CustomAuthorizationFailureResponse.Authentication; using CustomAuthorizationFailureResponse.Authorization; using CustomAuthorizationFailureResponse.Authorization.Handlers; using CustomAuthorizationFailureResponse.Authorization.Requirements; using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace CustomAuthorizationFailureResponse; public class Startup { public const string CustomForbiddenMessage = "Some info about the error"; public Startup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services .AddAuthentication(SampleAuthenticationSchemes.CustomScheme) .AddScheme<AuthenticationSchemeOptions, SampleAuthenticationHandler>(SampleAuthenticationSchemes.CustomScheme, o => { }); services.AddAuthorization(options => { options.AddPolicy(SamplePolicyNames.CustomPolicy, policy => policy.AddRequirements(new SampleRequirement())); options.AddPolicy(SamplePolicyNames.FailureReasonPolicy, policy => policy.AddRequirements(new SampleFailReasonRequirement())); options.AddPolicy(SamplePolicyNames.CustomPolicyWithCustomForbiddenMessage, policy => policy.AddRequirements(new SampleWithCustomMessageRequirement())); }); services.AddTransient<IAuthorizationHandler, SampleRequirementHandler>(); services.AddTransient<IAuthorizationHandler, SampleWithCustomMessageRequirementHandler>(); services.AddTransient<IAuthorizationHandler, SampleWithFailureReasonRequirementHandler>(); services.AddTransient<IAuthorizationMiddlewareResultHandler, SampleAuthorizationMiddlewareResultHandler>(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapDefaultControllerRoute(); }); } }