Program.cs
builder.Services.AddAuthorization(options => { options.FallbackPolicy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .Build(); }); builder.Services.ConfigureApplicationCookie(options => { options.ExpireTimeSpan=TimeSpan.FromDays(14); options.SlidingExpiration = true; options.Cookie.Name = "BI"; options.Cookie.HttpOnly = true; options.LoginPath = "/Login"; options.LogoutPath="/Logout"; });
To apply authorization to all pages in Blazor, you have to add:
@attribute [Microsoft.AspNetCore.Authorization.Authorize]
…to your _Imports.razor file.
@attribute [Microsoft.AspNetCore.Authorization.AllowAnonymous]
…on pages that don’t require authorization.
References
https://stackoverflow.com/questions/60840986/blazor-redirect-to-login-if-user-is-not-authenticated
https://stackoverflow.com/questions/71434131/blazor-allow-anonymous-for-razor-page
https://stackoverflow.com/questions/50633896/asp-net-core-identity-change-login-url
https://learn.microsoft.com/en-us/aspnet/core/security/authorization/secure-data?view=aspnetcore-7.0