Azure App Service授权/简单身份验证与ASP.NET Forms身份验证冲突

时间:2020-04-24 03:06:51

标签: asp.net-mvc azure azure-web-app-service forms-authentication

我想启用App Service身份验证以保护开发环境免受公共访问。 App Service身份验证本身运行良好,只有我们公司Azure AD的人员被允许,一切都很好。

但是,这与网站本身的身份验证存在冲突,通过Azure AD进行身份验证之后,网站将以您已经登录的身份显示您。 而且我不明白它最终会如何冲突,我们正在使用表单身份验证,我尝试显式命名表单auth应该查找的cookie,并将其设置为始终使用cookie进行身份验证,但是仍然存在冲突。 / p>

 <authentication mode="Forms">
      <forms name=".ASPXAUTH" loginUrl="~/sign-in" timeout="2880" requireSSL="true" cookieless="UseCookies" />
 </authentication>

通过Microsoft登录后,我发现没有.ASPXAUTH cookie,只有AppServiceAuthSession,但Forms auth却将我视为已登录。

1 个答案:

答案 0 :(得分:0)

我认为您可以通过删除web.config中的auth设置并使用OWIN在网站本身进行身份验证之前注入中间件(CustomMiddleware)来解决此问题。如果用户通过您的CustomMiddleware进行了身份验证,则您将按照常规流程进行操作,否则请缩短请求流程。在CustomMiddleware中,您可以检查请求标头,正文等是否具有经过身份验证的cookie等。我猜您的应用程序中具有MVC样式管道。您可以浏览Internet上的许多资源。下面是一个示例。

https://www.tutorialsteacher.com/core/how-to-add-custom-middleware-aspnet-core