4 Replies Latest reply on Apr 24, 2012 7:08 AM by baraber

    Seam 3 custom authenticator works but throw Drools CNFE

    kwutzke

      Hello,

       

      I have a Seam 3 authenticator running for several months now without changing. I set up the project all new and went on a clean server.

       

      I now get the following exception when successfully logging in:

       

      {code}

      18:56:37,038 INFO  [de.company.webapp.security.CustomAuthenticator] (http-localhost-127.0.0.1-8080-2) Starting authentication...

      18:56:37,058 INFO  [de.company.webapp.security.CustomAuthenticator] (http-localhost-127.0.0.1-8080-2) Login succeeded! Redirecting to pq-list.jsf...

      18:56:37,067 ERROR [org.jboss.seam.security.IdentityImpl] (http-localhost-127.0.0.1-8080-2) Login failed: org.jboss.seam.security.AuthenticationException: Authentication failed.

          at org.jboss.seam.security.IdentityImpl.authenticate(IdentityImpl.java:245) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.IdentityImpl.login(IdentityImpl.java:163) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.IdentityImpl$Proxy$_$$_WeldClientProxy.login(IdentityImpl$Proxy$_$$_WeldClientProxy.java) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_02]

          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at org.apache.el.parser.AstValue.invoke(AstValue.java:262) [jbossweb-7.0.13.Final.jar:]

          at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) [jbossweb-7.0.13.Final.jar:]

          at org.jboss.weld.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:39) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) [jsf-impl-2.1.7-jbossorg-2.jar:]

          at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

          at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [jsf-impl-2.1.7-jbossorg-2.jar:]

          at javax.faces.component.UICommand.broadcast(UICommand.java:315) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

          at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

          at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

          at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) [jsf-impl-2.1.7-jbossorg-2.jar:]

          at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.7-jbossorg-2.jar:]

          at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [jsf-impl-2.1.7-jbossorg-2.jar:]

          at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) [jboss-jsf-api_2.1_spec-2.0.1.Final.jar:2.0.1.Final]

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

          at org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:62) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

          at org.jboss.solder.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65) [solder-impl-3.1.0.Final.jar:3.1.0.Final]

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

          at org.jboss.solder.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:74) [solder-impl-3.1.0.Final.jar:3.1.0.Final]

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]

          at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final]

          at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]

          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]

          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]

          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:]

          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]

          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:]

          at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_02]

      Caused by: java.lang.IllegalArgumentException: Unable to instantiate service for Class 'org.drools.builder.KnowledgeBuilderFactoryService'

          at org.drools.util.ServiceRegistryImpl.get(ServiceRegistryImpl.java:161) [drools-api-5.1.1.jar:5.1.1]

          at org.drools.builder.KnowledgeBuilderFactory.loadServiceFactory(KnowledgeBuilderFactory.java:131) [drools-api-5.1.1.jar:5.1.1]

          at org.drools.builder.KnowledgeBuilderFactory.getKnowledgeBuilderServiceFactory(KnowledgeBuilderFactory.java:125) [drools-api-5.1.1.jar:5.1.1]

          at org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactory.java:75) [drools-api-5.1.1.jar:5.1.1]

          at org.jboss.seam.security.permission.SecurityRuleLoader.init(SecurityRuleLoader.java:42) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_02]

          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.introspector.jlr.WeldMethodImpl.invoke(WeldMethodImpl.java:174) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.injection.MethodInjectionPoint.invoke(MethodInjectionPoint.java:111) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.Beans.callInitializers(Beans.java:724) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:713) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:161) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:157) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:131) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:153) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:290) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:107) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.seam.security.permission.SecurityRuleLoader$Proxy$_$$_WeldClientProxy.getKnowledgeBase(SecurityRuleLoader$Proxy$_$$_WeldClientProxy.java) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.permission.RuleBasedPermissionResolver.getSecurityRules(RuleBasedPermissionResolver.java:237) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.permission.RuleBasedPermissionResolver.init(RuleBasedPermissionResolver.java:49) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_02]

          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.introspector.jlr.WeldMethodImpl.invoke(WeldMethodImpl.java:174) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.injection.MethodInjectionPoint.invoke(MethodInjectionPoint.java:111) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.Beans.callInitializers(Beans.java:724) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:713) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1$1.proceed(ManagedBean.java:161) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:48) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget$1.work(ManagedBean.java:157) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$FixInjectionPoint.run(ManagedBean.java:131) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.inject(ManagedBean.java:153) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:290) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:107) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:90) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:79) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.seam.security.permission.RuleBasedPermissionResolver$Proxy$_$$_WeldClientProxy.setUserAccountInSecurityContext(RuleBasedPermissionResolver$Proxy$_$$_WeldClientProxy.java) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_02]

          at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_02]

          at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:241) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:229) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:207) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:569) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:559) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:554) [weld-core-1.1.5.AS71.Final.jar:2012-02-10 15:31]

          at org.jboss.seam.security.IdentityImpl.postAuthenticate(IdentityImpl.java:308) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          at org.jboss.seam.security.IdentityImpl.authenticate(IdentityImpl.java:232) [seam-security-3.1.0.Final.jar:3.1.0.Final]

          ... 43 more

      Caused by: java.lang.IllegalArgumentException: Unable to instantiate 'org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl'

          at org.drools.util.ServiceRegistryImpl$ReflectionInstantiator.newInstance(ServiceRegistryImpl.java:209) [drools-api-5.1.1.jar:5.1.1]

          at org.drools.util.ServiceRegistryImpl$ReflectionInstantiator.call(ServiceRegistryImpl.java:201) [drools-api-5.1.1.jar:5.1.1]

          at org.drools.util.ServiceRegistryImpl.get(ServiceRegistryImpl.java:159) [drools-api-5.1.1.jar:5.1.1]

          ... 112 more

      Caused by: java.lang.ClassNotFoundException: org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl from [Module "deployment.generator2.war:main" from Service Module Loader]

          at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)

          at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)

          at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)

          at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)

          at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)

          at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_02]

          at java.lang.Class.forName(Unknown Source) [rt.jar:1.7.0_02]

          at org.drools.util.ServiceRegistryImpl$ReflectionInstantiator.newInstance(ServiceRegistryImpl.java:206) [drools-api-5.1.1.jar:5.1.1]

          ... 114 more{code}

       

      Note, that I use a custom implementation of the authenticator and is rather tentative/simple. It's strange, because the log clearly says the user gets auth'd and the redirect works, too.

       

      It looks like a dependency issue anyway, is there anything I'm missing in my Maven setup?:

      {code:xml}<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

        <modelVersion>4.0.0</modelVersion>

        <groupId>de.poyry.pqgenerator</groupId>

        <artifactId>pq-generator2</artifactId>

        <version>1.0.0-SNAPSHOT</version>

        <packaging>war</packaging>

        <name>PQ Generator</name>

        <repositories>

          <repository>

            <id>jboss</id>

            <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>

          </repository>

          <repository>

            <id>eclipselink</id>

            <url>http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo/</url>

          </repository>

        </repositories>

        <build>

          <sourceDirectory>${basedir}/src/main/java</sourceDirectory>

          <outputDirectory>${basedir}/target/WEB-INF/classes</outputDirectory>

          <resources>

            <resource>

              <directory>${basedir}/src/main/java</directory>

              <excludes>

                <exclude>**/*.java</exclude>

              </excludes>

            </resource>

          </resources>

          <plugins>

            <plugin>

              <artifactId>maven-war-plugin</artifactId>

              <configuration>

                <warSourceDirectory>${basedir}/resources</warSourceDirectory>

              </configuration>

            </plugin>

            <plugin>

              <artifactId>maven-compiler-plugin</artifactId>

              <configuration>

                <source>1.6</source>

                <target>1.6</target>

              </configuration>

            </plugin>

          </plugins>

        </build>

        <properties>

          <org.richfaces.version>4.1.0.Final</org.richfaces.version>

          <!--seam.version>3.0.0.Final</seam.version-->

          <seam.version>3.1.0.Final</seam.version>

          <javaee6.web.spec.version>2.0.0.Final</javaee6.web.spec.version>

        </properties>

        <dependencyManagement>

          <dependencies>

            <dependency>

              <groupId>org.richfaces</groupId>

              <artifactId>richfaces-bom</artifactId>

              <version>${org.richfaces.version}</version>

              <type>pom</type>

              <scope>import</scope>

            </dependency>

            <dependency>

              <groupId>org.jboss.seam</groupId>

              <artifactId>seam-bom</artifactId>

              <version>${seam.version}</version>

              <type>pom</type>

              <scope>import</scope>

            </dependency>

            <dependency>

                <groupId>org.jboss.bom</groupId>

                <artifactId>jboss-javaee-6.0-with-hibernate</artifactId>

                <version>1.0.0.M7</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

            <dependency>

                <groupId>org.jboss.spec</groupId>

                <artifactId>jboss-javaee-web-6.0</artifactId>

                <version>${javaee6.web.spec.version}</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

          </dependencies>

        </dependencyManagement>

        <dependencies>

         

          <dependency>

            <groupId>commons-lang</groupId>

            <artifactId>commons-lang</artifactId>

            <version>2.6</version>

          </dependency>

         

          <dependency>

            <groupId>org.richfaces.ui</groupId>

            <artifactId>richfaces-components-ui</artifactId>

          </dependency>

         

          <dependency>

            <groupId>org.richfaces.core</groupId>

            <artifactId>richfaces-core-impl</artifactId>

          </dependency>

         

          <dependency>   

            <groupId>org.jboss.seam.security</groupId>

            <artifactId>seam-security</artifactId>

          </dependency>

         

          <dependency>

            <groupId>org.drools</groupId>

            <artifactId>drools-api</artifactId>

          </dependency>

         

          <dependency>

            <groupId>joda-time</groupId>

            <artifactId>joda-time</artifactId>

            <!--version>1.6</version-->

          </dependency>

         

          <dependency>

              <groupId>org.slf4j</groupId>

              <artifactId>slf4j-jdk14</artifactId>

              <version>1.6.4</version>

              <scope>provided</scope> <!-- Hibernate only -->

          </dependency>

       

        </dependencies>

      </project>{code}

       

      I'm on JBoss AS 7.1.1. What's wrong here?

       

      Karsten

        • 1. Re: Seam 3 custom authenticator works but throw Drools CNFE
          conte

          This is my same situation (JBoss AS 7.1.1.Final). I have solved the problem adding this dependency to my pom.xml:

           

          <dependency>

               <groupId>org.drools</groupId>

               <artifactId>drools-compiler</artifactId>

               <version>5.3.1.Final</version>

          </dependency>

          • 2. Re: Seam 3 custom authenticator works but throw Drools CNFE
            baraber

            In seam-security, there is a class named org.jboss.seam.security.permission.RuleBasedPermissionResolver that is annotated @Requires("org.drools.KnowledgeBase") (annotation from solder).  That means this cdi bean will only be loaded if the class org.drools.KnowledgeBase is found on the classpath.

             

            This class (org.drools.KnowledgeBase) is found in the drools-api, wich is included in your pom.xml dependencies.  However, you include only the drools api, without any implementation.  That gives you 2 way to work around the issue : Remove "drools-api" from dependencies, if you don't need drools, hense no "rule based permissions" for seam-security, or you do as Roberto suggested and add the drools-compiler dependency.

            • 3. Re: Seam 3 custom authenticator works but throw Drools CNFE
              kwutzke

              This works.

               

              I have no idea why I added drools-api, but I cling to remember some other problem that I had that went away by adding it. :-/

               

              Thanks a lot for helping (both of you).

               

              Karsten

              • 4. Re: Seam 3 custom authenticator works but throw Drools CNFE
                baraber

                You're welcome