Tomcat7 서버에 배포 된 모든 웹 응용 프로그램에 보안 제약 조건을 적용하고 싶습니다. 이렇게하기 위해 나는 영역과 밸브를 설치했습니다. 내 이해는 context.xml의 내용이 서버에 배포 된 모든 응용 프로그램에 포함된다는 것입니다. 모든 구성을 추가 할 수 있고 여러 가지 배포 된 응용 프로그램 컨텍스트에 포함 된 효과를 볼 수 있으므로 작동하는 것처럼 보입니다. 그것은 웹 애플 리케이션 간의 일관성을 강화하기 위해 훌륭하게 작동합니다.web.xml 외부에 <security-constraint> 정의 (예 : 서버 전체)
<security-constraint>
<web-resource-collection>
<web-resource-name>myServletWAR</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>my_role</role-name>
</auth-constraint>
</security-constraint>
을 나는 상황에 맞는 태그 사이의 context.xml에서 일을 해요 : web.xml의 외부 아래와 같은 보안 제약 조건을 정의하려고 작동하지 않는 것 무엇
. Tomcat의 불만은 없지만 보안 제약 조건은 적용되지 않습니다. 예를 들어 비밀번호없이 앱을 사용할 수 있습니다. 위의 context.xml에서 위의 제약 조건을 볼 수 있습니다.
Aug 14, 2013 3:03:32 PM org.apache.catalina.authenticator.AuthenticatorBase invoke
FINE: Not subject to any constraint
... 로그에 "auth"가없는 "protected"리소스가 있습니다.
webapps의 web.xml에 동일한 제약 조건을 적용하면 예상되는 제약 동작이 발생하지만 주어진 서버의 모든 배포 된 응용 프로그램에 일관되게 제약 조건이 적용되는지 확인해야합니다.
security-constraint 에이 웹 응용 프로그램 안에 있어야합니까? context.xml이 아닌 경우 여러 배포 웹 응용 프로그램에서 보안 제약 조건을 정의하는 방법은 무엇입니까?
This 내가 설정하려고하는 것이지만 web.xml 위의 제약 조건을 적용하려고합니다. 다시 말하지만 전체 서버에서 일관성있게 유지됩니다.
나는 다른 similar question을 보았지만, 이미 작성된 코드 기반에서 Servlet API를 사용하지 않고 Tomcat 구성에서이 작업을 수행하는 방법을 찾으려고합니다.
감사합니다.
$CATALINA_BASE/conf/web.xml
$ CATALINA_HOME/conf/web.xml이 내가 원했던 것처럼 나에게 맞았습니다. 이 경우 테스트하고 닫고 문서화합니다. – cschooley