3

我想知道是否有任何方法使用 JSF、JSTL 或 JSP 将用户 ID 和密码传递给另一个应用程序,而当用户在浏览器的视图源中看到硬编码值时不可见?

理想情况下,我想从 JSF 或 JSP 页面调用 Oracle 报告,那么如何通过不添加隐藏字段或输入字段来传递用户名和密码,这样当用户在浏览器中查看源代码时,他/她不应该能够查看身份验证详细信息。

我可以添加类似

Map map = new HashMap();
map.put("username", "SMITH");
map.put("password", "SMT");
FacesContext.getCurrentInstance().getExternalContext().getSessionMap()
        .put("reportParams", map);
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.redirect("http://server:8889/reports/rwservlet");

但不确定如何使用 url 传递地图或如何使用 JSTL 或在 JSF 页面中调用它。即使我作为参数传递,用户也可能会看到参数值。

任何帮助都是非常可观的。

谢谢

4

1 回答 1

2

在 Oracle Report 服务器中,可以通过以下方式在 cgicmd.dat 文件中提供身份验证详细信息

myconn:    userid=scott/tiger@DB report=myreport.jsp %*

myconn在将参数从 JSF 或 JSP 传递到 Oracle 报告时使用。这样可以避免用户名或密码的硬编码。

于 2013-02-14T14:12:25.323 回答