Asp.net mvc 使用Devbridge提供的AzurePowerTools对Azure进行HTTP身份验证

Asp.net mvc 使用Devbridge提供的AzurePowerTools对Azure进行HTTP身份验证,asp.net-mvc,azure,Asp.net Mvc,Azure,我正在尝试使用以下方法临时保护Azure上正在建设的ASP.NET(入门包)网站: 更多关于: 如果我运行他们的测试项目,效果会很好。但是,如果我添加模块,我会得到如下重定向循环: http://localhost:53529/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FRe

我正在尝试使用以下方法临时保护Azure上正在建设的ASP.NET(入门包)网站:

更多关于:

如果我运行他们的测试项目,效果会很好。但是,如果我添加模块,我会得到如下重定向循环:

 http://localhost:53529/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252FAccount%2525252FLogin%2525253FReturnUrl%2525253D%252525252FAccount%252525252FLogin%252525253FReturnUrl%252525253D%25252525252FAccount%25252525252FLogin%25252525253FReturnUrl%25252525253D%2525252525252FAccount%2525252525252FLogin%2525252525253FReturnUrl%2525252525253D%252525252525252FAccount%252525252525252FLogin%252525252525253FReturnUrl%252525252525253D%25252525252525252FAccount%25252525252525252FLogin%25252525252525253FReturnUrl%25252525252525253D%2525252525252525252FAccount%2525252525252525252FLogin%2525252525252525253FReturnUrl%2525252525252525253D%252525252525252525252FAccount%252525252525252525252FLogin%252525252525252525253FReturnUrl%252525252525252525253D%25252525252525252525252FAccount%25252525252525252525252FLogin%25252525252525252525253FReturnUrl%25252525252525252525253D%2525252525252525252525252FAccount%2525252525252525252525252FLogin%2525252525252525252525253FReturnUrl%2525252525252525252525253D%252525252525252525252525252FAccount%252525252525252525252525252FLogin%252525252525252525252525253FReturnUrl%252525252525252525252525253D%25252525252525252525252525252FAccount%25252525252525252525252525252FLogin%25252525252525252525252525253FReturnUrl%25252525252525252525252525253D%2525252525252525252525252525252FAccount%2525252525252525252525252525252FLogin%2525252525252525252525252525253FReturnUrl%2525252525252525252525252525253D%252525252525252525252525252525252FAccount%252525252525252525252525252525252FLogin%252525252525252525252525252525253FReturnUrl%252525252525252525252525252525253D%25252525252525252525252525252525252FAccount%25252525252525252525252525252525252FLogin%25252525252525252525252525252525253FReturnUrl%25252525252525252525252525252525253D%2525252525252525252525252525252525252FAccount%2525252525252525252525252525252525252FLogin%2525252525252525252525252525252525253FReturnUrl%2525252525252525252525252525252525253D%252525252525252525252525252525252525252FAccount%252525252525252525252525252525252525252FLogin%252525252525252525252525252525252525253FReturnUrl%252525252525252525252525252525252525253D%25252525252525252525252525252525252525252F

有人知道吗?

谢谢你对我们的工作感兴趣

您的网站似乎已经在使用表单身份验证。我不认为你的网站需要基本的认证

今天,我还尝试并成功地向两个使用表单身份验证的网站添加了基本身份验证。因此,我们的模块应该与使用表单身份验证的网站协同工作


我建议使用Fiddler并调查服务器和浏览器之间的流量。您还可以从GitHub下载源代码并尝试调试身份验证模块。

似乎发生的是AzurePowerTools包中的BasicAuthenticationModule正在发送HTTP 401未经授权的响应代码,这会导致FormsAuthenticationModule将浏览器重定向到登录页面,这会导致AzurePowerTools模块返回另一个401状态…您可以看到图片

理论上,解决此问题的最简单方法是通过web.config更改删除表单身份验证模块:


参考:

即使它被禁用,ASP.NET表单身份验证模块也会从基本身份验证处理程序截取401并执行重定向

如果您只是为了托管Web API而使用IIS和ASP.NET MVC网站,那么就快完成了–只需删除Web.config中的ASP.NET表单身份验证:


答案虽然很难找到,但实际上很简单。将以下两行添加到Web.config文件的appSettings部分:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>


现在,表单身份验证将按预期运行,并重定向到您在Web.config文件中指定的页面。

知道它为什么会这样吗?我正在使用您的包使我正在处理的项目在web上不可见。我认为可能还有另一个模块或代码段截取响应,清除响应中的所有内容,并将重定向发送到登录页面。您是否在浏览器中看到“身份验证”对话框?没有,它只是以重定向循环结束,最终导致登录页面失败。请尝试禁用表单身份验证,看看是否有帮助。也许您有另一个自定义模块,它截取响应并将用户发送到登录页面。我认为还有一些代码与基本身份验证模块冲突。基本身份验证模块是清除响应并将身份验证头发送到浏览器。然后,响应被其他代码截获,这些代码清除身份验证头并将重定向发送到浏览器。但我需要用于开发网站的FormsAuthentication。HttpAuthentication仅用于暂时将网站私有化。您可以随时重新启用FormsAuthenticationModule,只需删除上面的配置更改;执行此操作时,请确保同时禁用AzurePowerTools,因为它会干扰表单身份验证。