繁体   English   中英

asp.net如何知道不对login.aspx应用安全性? 反向代理给我问题

[英]How does asp.net know not to apply security to login.aspx? Reverse proxy is giving me issues

我有一个asp.net应用程序,该应用程序使用拒绝匿名用户的表单身份验证。 如果我直接访问服务器,则工作正常,但是,如果我通过反向代理访问服务器,则效果似乎不太好。

发生的情况是反向代理将您发送到默认页面,然后重定向到login.aspx页面,因为我尚未登录,这一切都很好,并证明了代理设置很好。 但是它无法呈现login.aspx,给出302(重定向)响应。

我猜想asp.net可以通过某种方式赋予login.aspx特殊权限,这样您就无需像其他网站一样登录即可访问它。 我进一步猜测,当通过反向代理访问该逻辑时,此逻辑将失败,它以某种方式认为“由于您未登录,所以您不被允许看到login.aspx”。 但这只是一个猜测...

无论如何,有人可以伸出援手吗? 非常感谢。

  • 尽可能使用提琴手/ wireshark /任何东西来查看实际发生的事情
  • 默认情况下,获得“特殊待遇”的页面由您的web.config-> system.web->身份验证->表单loginUrl中指定的loginUrl确定-例如,类似于:
  • 您可以通过web.config禁用特定路径上的身份验证要求:

`

<location path="js">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

我看到发生的一个常见问题(可能是您遇到的问题)是“登录”页面跳过了auth检查,但是“登录”页面所引用的内容(图像,JavaScript文件等)却没有,因此这些请求结束了302返回登录。 如果您的情况也是如此,那么只需添加足以“取消保护”您的“登录”页面需要访问才能正确显示的位置路径(如上)即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM