我有一个Java Servlet,它将重定向到另一台服务器上的Web应用程序。
我想知道是否有一种隐藏querystring参数的方法,因此客户端在地址栏中看不到它们。
response.sendRedirect("http://www.mywebapp.com/login.html?parameter1=value1¶meter2=value2");
有没有一种方法可以强制sendRedirect到页面POST并隐藏查询字符串?
编辑:用例。
用户转到http://www.mywebapp.com
它们会自动重定向到我的servlet过滤器
Servlet使用SAML将SSO处理到身份提供者
一旦收到SAML响应,我便将现在已通过身份验证的用户重定向回mywebapp.com
我想将一些参数传递回webapp。来自SAML响应的参数。但我不希望用户在URL中看到它们
显然,sendRedirect()不是我想要的。处理此问题的最佳方法是什么?
最佳答案
您可以从servlet(HttpConnection
)连接到另一台服务器,然后复制返回的数据。用户将只看到您的服务器。
一种替代方法是返回HTML页面,该页面在加载后会自动发送POST表单。用户将需要允许JS。
关于java - 在response.sendRedirect中从url隐藏查询字符串参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13730410/