2011-02-24 2 views
4

나는 같은 것을 사용합니다. 권한이없는 사용자가 Facelets 소스 파일에 액세스 할 수 있기 때문에 그렇게합니다.보안 제약 환영 파일 내 web.xml에

잘 작동하지만 루트 경로까지 차단되어 환영 파일이 표시되지 않습니다. <url-pattern>/</url-pattern>을 두 번째 security-constraint에 추가하려고했지만 아무 것도하지 않았습니다.

+0

나는 이런 종류의 문제가있는 유일한 사람입니다! Facelets 소스 파일을 보호 할 수있는 또 다른 방법이 있습니까? – Alf

답변

1

가능한 경우 접미사 패턴에 FacesServlet을 매핑하십시오. JSF 1.x를 사용하고 있다면 *.jsf에 매핑하십시오. 그런 다음 해당 보안 제약으로 *.xhtml에 대한 액세스를 차단하면됩니다. 이미 JSF 2.0을 사용 중이면 (질문 기록에서이를 확인), *.xhtml에 매핑하면됩니다. JSF 1.x와는 반대로 FacesServlet은 무한 루프로 실행되지 않습니다. 이렇게하면 보안 제약 조건이 전혀 필요하지 않습니다. 유일한 단점은 FacesServlet을 포함하지 않고 "일반 바닐라"XHTML 파일을 제공 할 수 없다는 것입니다. 하지만 이렇게하면 어쨌든 의미가 없으므로 그러한 파일은 *.html으로 제공되어야합니다.

PS는 다음 /faces/* 접두사 패턴 짜증 또 다른 이유를 제공해 주셔서 감사합니다;)

0

그것은 잘 작동하지만, 심지어 루트 경로가 차단되어 있기 때문에 시작 파일을 표시하지 않습니다. 나는 두번째로 security-constraint를 추가하려고 시도했지만 아무 것도 시도하지 않았다.

이 경우 작동 했어야합니다. 내 컴퓨터에서 테스트했는데 처음에는 작동하지 않습니다. 응용 프로그램 서버를 다시 시작할 때까지 예상대로 작동합니다.

+0

아, 우리는 우리의 web.xml을 갱신했다 : /index.xhtml이었고, index.xhtml < 환영 - 파일> – SDReyes