【发布时间】:2021-02-07 23:36:19
【问题描述】:
我想在 Web 应用程序上为除一个以外的所有页面启用身份验证/授权。我有一个元数据页面,我希望在应用程序的其余部分需要身份验证时保持公开。
基于许多其他stackoverflowposts 和blogs,我在应用程序上启用了身份验证/授权,并将“请求未通过身份验证时采取的操作”设置为“允许匿名请求(无操作)”。我创建了一个 authorization.json 文件并将其放在站点根目录中:
{
"routes":
[{
"path_prefix": "/",
"policies":
{
"unauthenticated_action": "RedirectToLoginPage"
}
},{
"path_prefix": "/metadata",
"policies":
{
"unauthenticated_action": "AllowAnonymous"
}
}]
}
我预计通过此设置,对基本站点和除/metadata 之外的所有页面的未经身份验证的请求都需要登录。但是,我没有被重定向到从任何页面登录。我已确保我已退出 Azure 并使用私人会话,但我仍然可以直接进入。
作为一个实验,我更改了身份验证设置以将未经身份验证的请求重定向到 AD 登录,并且所有页面都重定向到登录,正如预期的那样,但这确实破坏了其他功能,因为 /metadata 页面受到保护。
【问题讨论】:
标签: azure azure-active-directory azure-web-app-service