// Houston/Auth/HoustonRoles.cs public static readonly string DocumentsView = "Documents.View"; // Houston/Program.cs var viewDocumentsPolicy = "CanViewDocuments"; builder.Services.AddAuthorization(o => { o.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build(); // ... o.AddPolicy(viewDocumentsPolicy, policy => policy.RequireRole(HoustonRoles.DocumentsView)); }); builder.Services.AddRazorPages(o => { // ... o.Conventions.AllowAnonymousToPage("/Document/Share"); o.Conventions.AuthorizeFolder("/Document", viewDocumentsPolicy); o.Conventions.AuthorizePage("/Documents", viewDocumentsPolicy); }); // Houston/Services registrations builder.Services.AddOptions().BindConfiguration("Documents"); builder.Services.AddDocumentsClient(); builder.Services.AddScoped();