I created a simple JEE leisure application using Jax-RS, and when searching for security implementations, I can use PicketLink, which looks really great. I was able to successfully deploy the authorization-rs-rbac example on my local Wildfly instance, after which I tried to integrate it into my own project, but I continue to receive class exceptions from WildFly for deployment.
My POM.xml Dependency Management:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-javaee-6.0-with-tools</artifactId>
<version>${version.org.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-javaee-6.0-with-hibernate</artifactId>
<version>${version.org.jboss.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-javaee-6.0-with-security</artifactId>
<version>${version.jboss.bom.eap}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.jboss.bom.wfk</groupId>
<artifactId>jboss-javaee-6.0-with-deltaspike</artifactId>
<version>2.4.0-redhat-1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Also my Dependencies:
<dependency>
<groupId>org.picketlink</groupId>
<artifactId>picketlink-api</artifactId>
</dependency>
<dependency>
<groupId>org.picketlink</groupId>
<artifactId>picketlink-impl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.deltaspike.core</groupId>
<artifactId>deltaspike-core-api</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.deltaspike.core</groupId>
<artifactId>deltaspike-core-impl</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.deltaspike.modules</groupId>
<artifactId>deltaspike-security-module-api</artifactId>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.deltaspike.modules</groupId>
<artifactId>deltaspike-security-module-impl</artifactId>
<scope>runtime</scope>
</dependency>
I also defined an interceptor as shown in the above example
<interceptors>
<class>org.apache.deltaspike.security.impl.extension.SecurityInterceptor</class>
</interceptors>
The error I get from the server:
17: 18: 22,470 [org.jboss.msc.service.fail] ( MSC 1-10) MSC000001: jboss.deployment.unit. "Project.war" .POST_MODULE: org. jboss.msc.service.StartException jboss.deployment.unit. "Project.war" . POST_MODULE: JBAS018733: POST_MODULE "Project.war" org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.0.0.CR1.jar: 8.0.0.CR1] org.jboss.msc.service.ServiceControllerImpl $StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.0.CR1.jar: 1.2.0.CR1] org.jboss.msc.service.ServiceControllerImpl $StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.0.CR1.jar: 1.2.0.CR1] java.util.concurrent.ThreadPoolExecutor.runWorker( ) [rt.jar: 1.7.0_25] java.util.concurrent.ThreadPoolExecutor $Worker.run( ) [rt.jar: 1.7.0_25] java.lang.Thread.run( ) [rt.jar: 1.7.0_25] : java.lang.RuntimeException: JBAS018757: com.gr.project.authentication.IDMInitializer ClassLoader ModuleClassLoader "deployment.Project.war: main" Service Module Loader org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:72) [wildfly-server-8.0.0.CR1.jar: 8.0.0.CR1] org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58) org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:107) org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:92) org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:77) org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.0.0.CR1.jar: 8.0.0.CR1] ... 5 : java.lang.NoClassDefFoundError: org/picketlink/idm/model/IdentityType java.lang.Class.getDeclaredFields0 ( ) [rt.jar: 1.7.0_25] java.lang.Class.privateGetDeclaredFields( ) [rt.jar: 1.7.0_25] java.lang.Class.getDeclaredFields( ) [rt.jar: 1.7.0_25] org.jboss.as.server.deployment.reflect.ClassReflectionIndex. (ClassReflectionIndex.java:57) [wildfly-server-8.0.0.CR1.jar: 8.0.0.CR1] org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:68) [wildfly-server-8.0.0.CR1.jar: 8.0.0.CR1] ... 10 : java.lang.ClassNotFoundException: org.picketlink.idm.model.IdentityType [Module "deployment.Project.war: main" ] org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197) [jboss-modules.jar: 1.3.0.Final] org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443) [jboss-modules.jar: 1.3.0.Final] org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431) [jboss-modules.jar: 1.3.0.Final] org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373) [jboss-modules.jar: 1.3.0.Final] org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118) [jboss-modules.jar: 1.3.0.Final] ... 15 17: 18: 22,475 [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) JBAS014613: ( "" ): ([( "" = > "Project.war" )]) - : { "JBAS014671: Failed services" = > { "jboss.deployment.unit.\" Project.war \ ". POST_MODULE" = > "org.jboss.msc.service.StartException jboss.deployment.unit.\" Project.war \ ". POST_MODULE: JBAS018733: POST_MODULE \" Project.war \ " : java.lang.RuntimeException: JBAS018757: com.gr.project.authentication.IDMInitializer ClassLoader ModuleClassLoader \" deployment.Project.war: main \ " Service Module Loader : java.lang.NoClassDefFoundError: org/picketlink/idm/model/IdentityType : java.lang.ClassNotFoundException: org.picketlink.idm.model.IdentityType [Module\" deployment.Project.war: main \ " Service Module Loader]" }} 17: 18: 22,511 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: "Project.war" (runtime-name: "Project.war" ) 17: 18: 22,512 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: JBAS014777: , : service jboss.deployment.unit. "Project.war" .POST_MODULE: org.jboss.msc.service.StartException jboss.deployment.unit. "Project.war" .POST_MODULE: JBAS018733: POST_MODULE "Project.war"
, , , PicketLink .
- ?