2010-06-16 5 views
2

JAAS를 사용하여 사용자를 인증하려고합니다. 내 프로젝트는 GWT v2에 있으며 부두가 달립니다. 나는 개발을 위해 이클립스를 사용한다.jetty 및 gwt를 사용한 jaas 인증

http://code.google.com/p/google-web-toolkit/issues/detail?id=4462 나는 jetty가 web.xml의 영역 정의를 좋아하지 않는다는 것을 알아 냈으므로 jetty-web.xml로 이동했습니다.

나는 내가 여기에 충고 다음 있도록면 ClassNotFound 예외가 점점 계속 : communitymapbuilder.org/display/JETTY/Problems+with+JAAS+in+Jetty+6.0.0 그러나, 나는 여전히 ClassNotFoundExceptionsHere을 얻고있다

을 내 jetty-web.xml 파일. GWT 프로젝트에서 jaas를 작동하도록 부두를 어떻게 구성합니까?

내 부두-web.xml 파일 :

<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 
<Set name="serverClasses"> 
    <Array type="java.lang.String"> 
     <Item>-org.mortbay.jetty.plus.jaas.</Item> 
     <Item>org.mortbay.jetty</Item> 
     <Item>org.slf4j.</Item> 
    </Array> 
    </Set> 

<Get name="securityHandler"> 
    <Set name="userRealm"> 
     <New class="org.mortbay.jetty.plus.jaas.JAASUserRealm"> 
      <Set name="name">xyzrealm</Set> 
      <Set name="LoginModuleName">xyz</Set> 
      <Set name="config"><SystemProperty name="jetty.home" default="."/>/WEB-INF/classes/jdbcRealm.properties</Set> 
     </New> 
    </Set> 
    <Set name="authenticator"> 
     <New class="org.mortbay.jetty.security.FormAuthenticator"> 
      <Set name="loginPage">/login.jsp</Set> 
      <Set name="errorPage">/error.jsp</Set> 
     </New> 
    </Set> 
</Get> 

오류 내가 받고 오전 :

[WARN] Failed startup of context com.google.gwt[email protected]{/,/home/dev/workspace/project/war} 
java.lang.ClassNotFoundException: org.mortbay.jetty.plus.jaas.JAASUserRealm 
at java.lang.ClassLoader.findClass(ClassLoader.java:359) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:352) 
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337) 
at org.mortbay.util.Loader.loadClass(Loader.java:91) 
at org.mortbay.xml.XmlConfiguration.nodeClass(XmlConfiguration.java:216) 
at org.mortbay.xml.XmlConfiguration.newObj(XmlConfiguration.java:564) 
at org.mortbay.xml.XmlConfiguration.itemValue(XmlConfiguration.java:907) 
at org.mortbay.xml.XmlConfiguration.value(XmlConfiguration.java:829) 
at org.mortbay.xml.XmlConfiguration.set(XmlConfiguration.java:278) 
at org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:240) 
at org.mortbay.xml.XmlConfiguration.get(XmlConfiguration.java:460) 
at org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:246) 
at org.mortbay.xml.XmlConfiguration.configure(XmlConfiguration.java:182) 
at org.mortbay.jetty.webapp.JettyWebXmlConfiguration.configureWebApp(JettyWebXmlConfiguration.java:109) 
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1217) 
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513) 
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) 
at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:447) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
at org.mortbay.jetty.Server.doStart(Server.java:222) 
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) 
at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:543) 
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421) 
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035) 
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783) 
at com.google.gwt.dev.DevMode.main(DevMode.java:275) 

답변

2

은 분명히 당신이 부두의에서 옵션 '플러스'단지를 포함 할 필요가/jaas가 작동하도록 lib 배포. 이로 인해 classnotfound 예외가 사라졌습니다.