我想知道有没有任何方法可以使用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页面中调用它。即使我作为参数传递,用户也可能看到参数值。
任何帮助都是非常可观的。
感谢
在Oracle Report中,可以通过以下方式在cgicmd.dat文件中提供服务器身份验证详细信息
myconn: userid=scott/tiger@DB report=myreport.jsp %*
并在将参数从JSF或JSP传递到Oracle报表时使用CCD_ 1。这样就可以避免对用户名或密码进行硬编码。