2009-03-31 2 views
2

전체 J2EE 아키텍처가 처음입니다. 누군가 나를 도울 수 있을까요?EJB 3.0 서버에 대한 응용 프로그램 클라이언트를 인증하는 방법

내가 로그인과 스윙 클라이언트, 시스템 A에 암호 필드가

Properties p = new Properties(); 
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); 
p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces"); 
p.put(Context.PROVIDER_URL, "jnp://localhost:1099/"); 

InitialContext ctx = new InitialContext(p); 
ejb = (MyBeanRemote) ctx.lookup("DemoServer/MyBean/remote"); 

나는 기계 B에 JBoss5상의 EJB 3.0이 : 사용자와

@Stateful 
@DeclareRoles({"editor", "viewer"}) 
public class MyBean implements MyBeanRemote, Serializable { 

    @RolesAllowed({"editor"}) 
    public boolean modify() throws Exception { 
      if(!ctx.isCallerInRole("editor")) throw new SecurityException("Can't modify"); 
      return true; 
    } 

    @RolesAllowed({"viewer","editor"}) 
    public boolean view() throws Exception { 
      if(!ctx.isCallerInRole("viewer")) throw new SecurityException("Can't view"); 
      return true; 
    } 
} 

내가 가지고 DB를하고 서버 역할 (conf의/로그인-conf.xml) :

<application-policy name="jboss-secure"> 
    <authentication> 
    <login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required"> 
     <module-option name="unauthenticatedIdentity">guest</module-option> 
     <module-option name="dsJndiName">java:/MyDerby</module-option> 
     <module-option name="principalsQuery">SELECT Password FROM Users WHERE Username=?</module-option> 
     <module-option name="rolesQuery">SELECT Role, 'Roles' FROM Users WHERE Username=?</module-option> 
    </login-module> 
    </authentication> 
</application-policy> 

META-INF /의 jboss.xml :

<jboss> 
    <security-domain>java:/jaas/jboss-secure</security-domain> 
</jboss> 

제가 알기로, 나는 클라이언트가 제대로 인증 될 때까지 ejb 참조를 얻지 않아야합니다. 어떻게 LoginContext를 사용합니까? 그리고 그것을 전혀 사용합니까? 사용할 수 있습니까? @EJB private MyBeanRemote ejb을 사용할 수 있습니까? 그리고 어떻게 모든 것을 작동하게합니까?

나는 응용 프로그램 클라이언트의 승인과 같은 사소한 일을 그냥 만들려고 노력하고 있습니다. 내 자신이 멍청하게 느껴진다.

대단히 감사합니다.

+0

위의 달성 방법을 공유해주세요. –

답변

2

있습니다. 나는 또한 다른 두하지 않으면 희망이 그 중 하나가 당신을 도울 것입니다 http://delicious.com/chronosMark/JAAS에 표시된 다른 JAAS 자원 책의 부하를 가지고 http://www.jaasbook.com/http://docs.jboss.org/jbossas/admindevel326/html/ch8.chapter.html

그들에게 매우 유용하다고이 두 자료를 확인하십시오.

+0

나는 그들 모두를 이미 점검했고, 나는 더 이상 이것을 정말로 필요로하지 않는다. 그러나 어쨌든 고마워. 이것이 최고의 대답입니다. 잘하면 일부 사람들에게 유용 할 것입니다. – pitr

1

내가 recentely JAAS와 함께 몇 가지 작업을했고, 꽤 까다로운 일이 될 수 있습니다 발견 튜토리얼 here

+1

링크가 작동하지 않습니다. – Eusebius

관련 문제