2014-10-17 1 views
4

나는 나는, 그러나 너무JAAS의 영역 부하 내부 설정 파일

JAVA_OPTS=$JAVA_OPTS "-Djava.security.auth.login.config==$CATALINA_BASE/conf/jaas.config" 

처럼 catalina.sh에 jaas.conf를 파일을 지정할 때 그것은 제대로 작동 톰캣 7. 영역 구성으로 간단한 JAAS 모듈을 구현해야 이 구성 파일을 웹 응용 프로그램에 내부적으로 추가하여 응용 프로그램을 단순화하려고했습니다. 설명서에 configFile 매개 변수를 사용할 수 있다고 나와 있습니다.

"이 영역에서 사용할 JAAS 구성 파일의 이름입니다. ClassLoader # getResource (String)를 사용하여 검색되므로 구성이 번들로 묶일 수 있습니다 지정하지 않으면 기본 JVM 전역 JAAS 구성이 사용됩니다. " 내 웹 응용 프로그램에서

내의 context.xml :

<Realm appName="AppLogin" className="org.apache.catalina.realm.JAASRealm" configFile="WEB-INF/jaas.config" ...../> 

설정 파일이 /WEB-INF/jaas.config

위치한 왜 JAAS 설정 파일이 없습니다로드되는?

http://tomcat.apache.org/tomcat-7.0-doc/config/realm.html#JAAS_Realm_-_org.apache.catalina.realm.JAASRealm

답변

3

는 그것은 ClassLoader#getResource(String)

그런 다음 당신은 클래스 경로에 JAAS 구성 파일을 둘 필요가 사용하는 검색됩니다 WEB-INF/classes 또는 WEB-INF/lib하지만 WEB-INF 직접.

그리고이 문서에 기록 된대로 파일 이름 만 지정

configFile -이 영역에 사용하는 JAAS 구성 파일의 이름.

+0

명확히하기 위해, 나는/resources/lib 또는/resources/classes 폴더에 파일을 저장했다. 당신은 올바른 결론을 내리기 위해 나를 인도합니다. – Sixthpoint

+0

반갑습니다. –

+0

@Sixthpoint - Tomcat에 자원 폴더가 있다는 것을 알지 못합니다. 자원/수업의 전체 경로는 무엇입니까? Tomcat 설치 또는 웹 컨텍스트와 관련하여? –

0

configFile 속성은 설명서에 있음에도 불구하고 Tomcat 7에 구현되어 있지 않은 것처럼 보입니다. org.apache.catalina.realm.JAASRealm에 대한 소스를 조사 했으므로 setConfigFile에 대한 메소드가 없습니다. 당신이 구현 연관된 방법이없는 속성을 사용하는 경우

는, Tomcat은 다음과 같은 메시지를보고합니다

경고 : [SetPropertiesRule] {컨텍스트/영역} 설정 특성 '에서 configFile'JAAS '에. config '가 일치하는 속성을 찾지 못했습니다.

그 메시지는 에서 configFile 속성이 인식되지 않습니다 때문에 JAASRealm 어디 jaas.config을 찾아하는 알 수 없습니다 것을 나타냅니다.

는 그래서 톰캣 7, 당신은 단지 -Djava.security.auth.login.config = $ CATALINA_BASE/conf의/jaas.config

톰캣 8 소스와 jaas.config를 지정할 수 있음을 표시 setConfigFile에 대한 방법이있다 org.apache.catalina.realm.JAASRealm. 나는 Tomcat 8을 시험해 보지 않았다.

+0

바람둥이 7을 사용하고 confileFile 속성이 잘 작동합니다 ... – fafl