我们正在使用标准的 asp.net 表单身份验证。某些页面需要用户登录;并且这些页面中至少有一些是通过 https 传递的。每个页面的顶部都有一个搜索控件。使用这个时,我们不关心用户的会话是否过期,即使当前页面需要登录。
但是,目前,在执行搜索时,内置表单身份验证会看到被发布到的页面需要身份验证,并将用户重定向到登录页面,并以前一页而不是搜索结果页作为引荐来源。
绕过这里的安全性的最佳方法是什么?我考虑过使用 PostBackUrl 属性发布到不同的页面,但如果这不是 https,您会收到“您正在将数据发布到不安全的连接”消息,这是用户不喜欢的。
谢谢你的帮助。
编辑:感谢尼克关于在搜索页面上使用 GET 的建议。我们已经这样做了,但是查询字符串是由搜索输入控件构造然后重定向的。我们如何在不使用回发的情况下构建查询字符串?(显然 javascript 是一种选择,但我希望找到一种替代机制。)