클라이언트에서 현재 사용자가 사용할 수있는 EJBS를 감지 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/706856

문제

보안 역할이 다른 J2EE-Server에 다양한 EJB가 있습니다.

이제 Java Swing 클라이언트 애플리케이션에서 사용자를 서버에 로그인하면 실제로 사용자가 액세스 할 수있는 EJB를 실제로 만들거나 호출하려고 시도하지 않고 발견하고 싶습니다.

내가이 작업을 원하는 이유는 사용 가능한 EJB에 따라 사용자 인터페이스를 조정하는 것입니다.

예를 들어, 현재 사용자가 "AdminististerMetadata"EJB를 사용할 수있는 경우 메타 데이터를 관리하기위한 메뉴 옵션을 표시하려고합니다.

클라이언트 내에서 알려진 알려진 EJB의 사전 정의 된 목록에서 쿼리하는 것이 허용되므로 그런 식으로 완전히 역동적 일 필요는 없습니다.

나는이 액세스 정보를 반환하기 위해 특별한 EJB를 만들고 싶지 않으며, 방법을 호출하고 발견을하기 위해 예외를 포착하지 않아도되고 싶습니다.

JBOSS에서 솔루션을 사용할 계획이지만 가능하면 표준 솔루션을 선호합니다.

이게 가능해? 그렇다면 어떻게?

도움이 되었습니까?

해결책

내가 아는 한, J2EE에는 고객 측 에서이 정보를 제공 할 것이 없습니다. 서버 측에서도 ejbcontext 발신자가 소유 한 역할과 발신자의 교장 (예 : 로그인 이름) 만 제공합니다.

클라이언트 측에서 쿼리 할 수있는 추가 세션 Bean을 가지고 있고 서버 측의 EJBContext를 검사하여 현재 사용자가 소유 한 역할을 클라이언트에 알리는 다른 방법은 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top