2013-02-12 1 views
3

JSF, JSTL 또는 JSP를 사용하여보기 소스에 하드 코드 된 값이 표시 될 때 보이지 않게 다른 응용 프로그램에 사용자 ID와 암호를 전달하는 방법이 있는지 알고 싶습니다. 브라우저에서?JSF 또는 JSP에서 Oracle Reports로 사용자 이름 및 비밀번호 전달

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 페이지에서 호출하는 방법으로지도를 전달할 수있는 방법을 잘 같은 것을 추가 할 수 있습니다. 매개 변수로 전달하더라도 사용자는 아마도 매개 변수 값을 볼 수 있습니다.

도움이 매우 좋습니다.

감사 오라클 보고서 서버 인증 세부

+5

SSO (Single Sign On) 기술에 대해 읽었습니까? 응용 프로그램은 평범한 텍스트로 모든 사용자의 암호에 액세스 할 수 없어야하므로 다른 응용 프로그램으로 보낼 수 없습니다. 그러나 SSO는 중앙 인증 지점으로 전달할 필요가없는 접근 방식을 제공합니다. –

+0

"외부"응용 프로그램이 동일한 웹 컨테이너에서 실행되고 있습니까? – Uooo

+0

@AlonsoDominguez 현재 SSO를 사용하고 있지 않습니다. – user75ponic

답변

2

는 다음과 같은 방식으로

myconn: userid=scott/[email protected] report=myreport.jsp %* 

에 cgicmd.dat 파일에 제공하고 오라클 보고서에 JSF 또는 JSP에서 매개 변수를 전달하면서 myconn를 사용할 수 있습니다. 이런 식으로 사용자 이름이나 암호를 하드 코딩하는 것을 피할 수 있습니다.

+1

일반 텍스트로 암호를 전달할 것을 암시하지 않는 해결책을 찾기 위해 +1을 드리겠습니다. –

관련 문제