2009-07-21 3 views
0

저는 스윙 응용 프로그램 클라이언트를 작성하고 있습니다 (웹 스타트를 통해 실행 중이며 glassfish를 사용하고 있습니다).응용 프로그램 클라이언트에 로그인 콜백을 사용하는 방법

@EJB private static MyBean myBean; 

MyBean에서 내가 가진 : 응용 프로그램 클래스에서 나는이

@Remote 
public interface MyBean { 
    public int getRand(); 
} 

@DeclareRoles(("admin")) 
@Stateful(name="MyBean") 
public class MyBeanImpl implements MyBean { 
    @RolesAllowed(("admin")) 
    public int getRand() { 
    return 9; // Guaranteed to be random 
    } 
} 

를 지금까지 너무 좋아. 내가 javaws http://server/app/app-client을 사용하여 응용 프로그램을 시작하면, user/pass 및 glassfish에서 fileRealm을 사용하여 제대로 인증하는지 묻습니다.

나는 두 가지 문제가 있습니다

(bean이 참조 될 때) 오히려 내가 메서드를 호출 할 때보다 바로 인증을 시도 할 것으로 보인다
  • . 나는 이것으로 살아갈 수있다.
  • 나 자신의 로그인 대화 상자를 사용하고 싶습니다. 부분적으로 미적인 이유로, 그러나 또한 우아한 오류 처리, 재시도 등

그래서 콜백을 지정해야합니다. new LoginContext("fileRealm", myCallback)을 사용하면 fileRealm에 대한 로그인 모듈에 대한 오류가 표시됩니다. net에서 여러 가지 예제를 시도했지만 응용 프로그램 클라이언트에 대해 설계된 것은 거의 없습니다.

답변

0

메소드를 호출하려고 시도 할 때가 아니라 바로 (bean이 참조 될 때) 인증을 시도하는 것처럼 보입니다. 나는 이것으로 살아갈 수있다.

이는 RMI 컨텍스트를 만들기 위해 인증되어야하기 때문입니다.

+0

는 설명을 가지고,하지만 난 필사적으로 내 자신의 대화를 얻는 방법을 알 필요가 나타나다. – Draemon

2

그럼 난 다음 application-client.xml에 추가하여 두 번째 (가장 중요한 문제를) 해결 한 : 그것은 좋다

<application-client...> 
    ... 
    <callback-handler>package.name.ClassName</callback-handler> 
</application-client> 
+0

그건 바보 같아 - 나 자신의 대답을 받아 들일 수 없다. – Draemon

+0

http://meta.stackexchange.com/questions/1413/why-an-answer-cant-be-accepted-after-an-unresolved-bounty/ 36904 # 36904, 대답을 맨 위로 푸시하려면 +1) – VonC

+0

안녕하세요, 감사합니다. VonC! – Draemon

관련 문제