【发布时间】:2020-07-01 06:00:43
【问题描述】:
我目前正在编写一个包含默认 AzureAD 身份验证的(服务器端)Blazor 应用程序。
这对经过身份验证的用户非常有效 - 对入口 (_Host.cshtml) 文件提出挑战,重定向,然后在经过身份验证后返回。
我需要有几个页面需要身份验证 - 我不希望用户受到质疑并将其重定向到 Microsoft。
这样做的正确方法是什么?我已经尝试过AllowAnonymousAttribute、AllowAnonymousToPage 剃须刀页面选项,似乎没有什么能阻止挑战。
任何帮助将不胜感激!
以下是我的身份验证设置(ConfigureServices):
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddTelerikBlazor();
}
然后是配置中的相应部分:
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
【问题讨论】:
-
这是 Azure AD 的预期行为。 docs.microsoft.com/en-us/azure/app-service/…
标签: azure authentication azure-active-directory blazor blazor-server-side