我有一个asp.net应用程序,它使用表单身份验证来拒绝匿名用户。如果我直接访问服务器,它工作正常,但如果我通过反向代理访问它,它似乎没有那么好。
反向代理会将您发送到默认页面,然后重定向到login.aspx页面,因为我没有登录,这很好,并证明代理设置正常。但它无法呈现login.aspx,给出302(重定向)响应。
我猜不知道asp.net有一种给予login.aspx特殊权限的方法,这样你就不需要登录就可以访问它了,这与网站的其他部分不同。我进一步猜测这个逻辑在通过反向代理访问它时失败了,不知怎的,它正在考虑“你不能看到login.aspx因为你没有登录”。然而,这只是猜测......
无论如何,有人可以伸出援助之手吗?非常感谢。
答案 0 :(得分:1)
`
<location path="js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
我看到发生的一个常见问题(这可能是你要点击的)是登录页面跳过auth检查罚款,但登录页面引用的东西(图像,javascript文件等)没有,所以那些请求最终以302返回登录。如果这也是你的情况,那么只需添加位置路径(如上所述)足以“取消保护”登录页面需要访问的任何内容以便正确显示。