Author: anil.saldhana(a)jboss.com
Date: 2009-02-13 18:30:49 -0500 (Fri, 13 Feb 2009)
New Revision: 320
Added:
identity-federation/trunk/identity-bindings-jboss/
identity-federation/trunk/identity-bindings-jboss/.classpath
identity-federation/trunk/identity-bindings-jboss/.project
identity-federation/trunk/identity-bindings-jboss/pom.xml
identity-federation/trunk/identity-bindings-jboss/src/
identity-federation/trunk/identity-bindings-jboss/src/main/
identity-federation/trunk/identity-bindings-jboss/src/main/java/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/auth/
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/auth/SAML2LoginModule.java
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/reg/
identity-federation/trunk/identity-bindings-jboss/src/main/resources/
identity-federation/trunk/identity-bindings-jboss/src/test/
identity-federation/trunk/identity-bindings-jboss/src/test/java/
identity-federation/trunk/identity-bindings-jboss/src/test/resources/
Log:
jboss integration code
Added: identity-federation/trunk/identity-bindings-jboss/.classpath
===================================================================
--- identity-federation/trunk/identity-bindings-jboss/.classpath
(rev 0)
+++ identity-federation/trunk/identity-bindings-jboss/.classpath 2009-02-13 23:30:49 UTC
(rev 320)
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src"
path="src/main/resources"/>
+ <classpathentry kind="src" output="target/test-classes"
path="src/test/java"/>
+ <classpathentry excluding="**/*.java" kind="src"
output="target/test-classes" path="src/test/resources"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var"
path="M2_REPO/sun-jaf/activation/1.1/activation-1.1.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/tomcat/annotations-api/6.0.18/annotations-api-6.0.18.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/tomcat/catalina/6.0.18/catalina-6.0.18.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/apache-logging/commons-logging-api/1.0.3/commons-logging-api-1.0.3.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/apache-modeler/commons-modeler/1.1patch/commons-modeler-1.1patch.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/tomcat/coyote/6.0.18/coyote-6.0.18.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/sun-jaxb/jaxb-api/2.1.9/jaxb-api-2.1.9.jar"
sourcepath="M2_REPO/sun-jaxb/jaxb-api/2.1.9/jaxb-api-2.1.9-sources.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/sun-jaxb/jaxb-impl/2.1.9/jaxb-impl-2.1.9.jar"
sourcepath="M2_REPO/sun-jaxb/jaxb-impl/2.1.9/jaxb-impl-2.1.9-sources.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/jboss/security/jbossxacml/2.0.3.CR1/jbossxacml-2.0.3.CR1.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/tomcat/juli/6.0.18/juli-6.0.18.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/junit/junit/4.4/junit-4.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar"
sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/apache-tomcat/naming-resources/5.5.12/naming-resources-5.5.12.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/javax/servlet/servlet-api/2.4/servlet-api-2.4.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/tomcat/servlet-api/6.0.18/servlet-api-6.0.18.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/stax/stax-api/1.0/stax-api-1.0.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/apache-tomcat/tomcat-http/5.5.12/tomcat-http-5.5.12.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/apache-tomcat/tomcat-util/5.5.12/tomcat-util-5.5.12.jar"/>
+ <classpathentry kind="var"
path="M2_REPO/org/apache/xmlsec/1.4.1/xmlsec-1.4.1.jar"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/identity-fed-api"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/identity-fed-core"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/identity-fed-model"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/identity-xmlsecmodel"/>
+ <classpathentry kind="var"
path="M2_REPO/sun-jaxws/jaxws-api/2.1.1/jaxws-api-2.1.1.jar"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/identity-bindings"/>
+ <classpathentry kind="var"
path="M2_REPO/org/jboss/security/jbosssx/2.0.2.SP6/jbosssx-2.0.2.SP6.jar"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: identity-federation/trunk/identity-bindings-jboss/.project
===================================================================
--- identity-federation/trunk/identity-bindings-jboss/.project
(rev 0)
+++ identity-federation/trunk/identity-bindings-jboss/.project 2009-02-13 23:30:49 UTC
(rev 320)
@@ -0,0 +1,18 @@
+<projectDescription>
+ <name>jboss-identity-bindings-jboss</name>
+ <comment>JBoss Identity Bindings for JBoss.</comment>
+ <projects>
+ <project>jboss-identity-fed-api</project>
+ <project>jboss-identity-fed-core</project>
+ <project>jboss-identity-fed-model</project>
+ <project>jboss-identity-xmlsec-model</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: identity-federation/trunk/identity-bindings-jboss/pom.xml
===================================================================
--- identity-federation/trunk/identity-bindings-jboss/pom.xml (rev
0)
+++ identity-federation/trunk/identity-bindings-jboss/pom.xml 2009-02-13 23:30:49 UTC (rev
320)
@@ -0,0 +1,113 @@
+<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/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.identity</groupId>
+ <artifactId>jboss-identity-fed-parent</artifactId>
+ <version>1.0.0.alpha1-SNAPSHOT</version>
+ <relativePath>../parent</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>jboss-identity-bindings-jboss</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Identity Federation Server Bindings for JBoss</name>
+ <
url>http://labs.jboss.org/portal/jbosssecurity/</url>
+ <description>JBoss Identity OpenSAML contains the foundation for Federated
Identity Needs.</description>
+ <licenses>
+ <license>
+ <name>lgpl</name>
+ <
url>http://repository.jboss.com/licenses/lgpl.txt</url>
+ </license>
+ </licenses>
+ <organization>
+ <name>JBoss Inc.</name>
+ <url>http://www.jboss.org</url>
+ </organization>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.3</version>
+ <configuration>
+ <printSummary>true</printSummary>
+ <disableXmlReport>false</disableXmlReport>
+ <testFailureIgnore>false</testFailureIgnore>
+ <includes>
+ <include>**/**TestCase.java</include>
+ </includes>
+ <forkMode>pertest</forkMode>
+
<argLine>-Djava.endorsed.dirs=${basedir}/src/test/resources/endorsed</argLine>
+ <useFile>false</useFile>
+ <trimStackTrace>false</trimStackTrace>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.identity</groupId>
+ <artifactId>jboss-identity-fed-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.identity</groupId>
+ <artifactId>jboss-identity-fed-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.identity</groupId>
+ <artifactId>jboss-identity-bindings</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>catalina</artifactId>
+ <version>6.0.18</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx</artifactId>
+ <version>2.0.2.SP6</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <configuration>
+ <doclet>org.jboss.apiviz.APIviz</doclet>
+ <docletArtifact>
+ <groupId>org.jboss.apiviz</groupId>
+ <artifactId>apiviz</artifactId>
+ <version>1.2.5.GA</version>
+ </docletArtifact>
+ <additionalparam>
+ -charset UTF-8
+ -docencoding UTF-8
+ -version
+ -author
+ -breakiterator
+ -windowtitle "${project.name} ${project.version} API Reference"
+ -doctitle "${project.name} ${project.version} API Reference"
+ -bottom "Copyright © ${project.inceptionYear}-Present
${project.organization.name}. All Rights Reserved."
+ -link
http://java.sun.com/javase/6/docs/api/
+ -sourceclasspath ${project.build.outputDirectory}
+ </additionalparam>
+ <encoding>UTF-8</encoding>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
Added:
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/auth/SAML2LoginModule.java
===================================================================
---
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/auth/SAML2LoginModule.java
(rev 0)
+++
identity-federation/trunk/identity-bindings-jboss/src/main/java/org/jboss/identity/federation/bindings/jboss/auth/SAML2LoginModule.java 2009-02-13
23:30:49 UTC (rev 320)
@@ -0,0 +1,79 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.identity.federation.bindings.jboss.auth;
+
+import java.security.Principal;
+import java.security.acl.Group;
+import java.util.List;
+
+import javax.security.auth.login.LoginException;
+
+import
org.jboss.identity.federation.bindings.tomcat.sp.holder.ServiceProviderSAMLContext;
+import org.jboss.security.SimpleGroup;
+import org.jboss.security.SimplePrincipal;
+import org.jboss.security.auth.spi.UsernamePasswordLoginModule;
+
+/**
+ * Login Module that is capable of dealing with SAML2 cases
+ * <p>
+ * The password sent to this module should be
+ * {@link ServiceProviderSAMLContext#EMPTY_PASSWORD}
+ * </p>
+ * <p>
+ * The username is available from {@link ServiceProviderSAMLContext#getUserName()}
+ * and roles is available from {@link ServiceProviderSAMLContext#getRoles()}.
+ * If the roles is null, then plugged in login modules in the stack have to provide
+ * the roles.
+ * </p>
+ * @author Anil.Saldhana(a)redhat.com
+ * @since Feb 13, 2009
+ */
+public class SAML2LoginModule extends UsernamePasswordLoginModule
+{
+ @Override
+ protected Principal getIdentity()
+ {
+ return new SimplePrincipal(ServiceProviderSAMLContext.getUserName());
+ }
+
+ @Override
+ protected Group[] getRoleSets() throws LoginException
+ {
+ Group group = new SimpleGroup("Roles");
+
+ List<String> roles = ServiceProviderSAMLContext.getRoles();
+ if(roles != null)
+ {
+ for(String role: roles)
+ {
+ group.addMember(new SimplePrincipal(role));
+ }
+ }
+ return new Group[] {group};
+ }
+
+ @Override
+ protected String getUsersPassword() throws LoginException
+ {
+ return ServiceProviderSAMLContext.EMPTY_PASSWORD;
+ }
+}
\ No newline at end of file