【发布时间】:2020-08-07 13:23:57
【问题描述】:
我想启用应用服务身份验证以保护开发环境免受公共访问。 应用服务身份验证本身工作正常,只允许来自我们公司 Azure AD 的人员,一切都很好。
但它与网站本身的身份验证冲突,通过 Azure AD 进行身份验证后,网站将您视为您已经登录。 而且我不明白它到底是如何发生冲突的,我们正在使用表单身份验证,我尝试明确命名表单身份验证应该查找的 cookie,并将其设置为始终使用 cookie 进行身份验证,但它仍然存在冲突。
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="~/sign-in" timeout="2880" requireSSL="true" cookieless="UseCookies" />
</authentication>
通过 microsoft 登录后,我看到没有 .ASPXAUTH cookie,只有 AppServiceAuthSession,但 Forms auth 认为我已登录。
【问题讨论】:
-
您的用户是否在特定网络上?您可以通过使用应用服务中的网络规则保护您的应用来避免此问题,而不是在顶部添加 Azure AD。 (请参阅 Azure 门户 -> AppService -> 网络 -> 访问限制)。使用 AD 和表单身份验证进行两级身份验证似乎很困难。请参阅mvolo.com/…(您需要切换顺序 - 先是广告页面,然后是表单)
标签: asp.net-mvc azure azure-web-app-service forms-authentication