문제

나는 전체 J2EE 아키텍처를 처음 접했습니다. 누군가 나를 도울 수 있습니까?

로그인이있는 스윙 클라이언트, 기계 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/login-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? 그리고 모든 일을 어떻게 작동시킬 수 있습니까?

나는 단지 겉보기에 사소한 것을 구축하려고 노력하고 있습니다 : 응용 프로그램 클라이언트의 승인. 내 자신이 멍청하게 느껴진다.

매우 감사합니다.

도움이 되었습니까?

해결책

나는 최근에 Jaas와 함께 일을했고 그것이 매우 까다로울 수 있음을 알았습니다. 이 두 가지 리소스를 확인하십시오. http://www.jaasbook.com/ 그리고 http://docs.jboss.org/jbossas/admindevel326/html/ch8.chapter.html

나는 또한 다른 Jaas Resources Book을 많이 가지고 있습니다. http://delicious.com/chronosmark/jaas 다른 두 사람이하지 않으면 그들 중 하나가 당신을 도울 것입니다.

다른 팁

튜토리얼이 있습니다 여기

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