2017-05-08 1 views
1

다른 JNDI를 사용하여 Payara 서버에 여러 영역을 만들었습니다. 나는 동일한 구조 (사용자 및 그룹)를 가진 여러 데이터베이스를 가지고 있으며 런타임에 영역 이름을 가져 오거나 설정하여 인증/권한을 얻고 싶습니다. 나는 런타임에 JDBCRealm 이름을 얻는 방법을 알지 못한다. 필요한 도움이 필요하다. JDBCRealm을 동적으로 선택하십시오.

은 내가 의한 얻으려고 노력했다 : 자원을 조회하는 데 사용되기 때문에 나는이 작동하지 않습니다

 Context iniCtx = new InitialContext(); 
     DataSource ddsa = (DataSource) iniCtx.lookup("java:app/multi2jndi"); 
     DatabaseMetaData mdd; 

.

+0

이 질문 (http://stackoverflow.com/questions/5104185/how-to-inject-persistence-context-to-different-data-source-programmatically)을 확인하고 Nayan의 답변을 확인하십시오. – D00de

+0

@ D00de 이것은 datasource를 호출하는 것에 관한 것입니다. 제 질문은 런타임에 영역 이름을 가져 오는 것입니다. –

+0

영역이 web.xml 파일에서 어디에 구성되어 있습니까? – D00de

답변

1

2 일 동안 고생하고 나면 컨테이너 관리 보안/영역을 직접 해킹 할 수 없다는 것을 알게되었습니다. JASPIC (JSR196)을 사용하여 자체 보안 모듈을 작성하거나 다르게 사용하는 방법에 대해 설명합니다. 나는 JASPIC과 함께 가고있다.

관련 문제