[jboss-identity-commits] JBoss Identity SVN: r238 - identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp.
jboss-identity-commits at lists.jboss.org
jboss-identity-commits at lists.jboss.org
Thu Jan 22 11:36:05 EST 2009
Author: anil.saldhana at jboss.com
Date: 2009-01-22 11:36:05 -0500 (Thu, 22 Jan 2009)
New Revision: 238
Modified:
identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
Log:
use of role generator
Modified: identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java
===================================================================
--- identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-01-22 06:21:54 UTC (rev 237)
+++ identity-federation/trunk/identity-bindings/src/main/java/org/jboss/identity/federation/bindings/tomcat/idp/IDPRedirectValve.java 2009-01-22 16:36:05 UTC (rev 238)
@@ -26,24 +26,20 @@
import java.io.InputStream;
import java.io.StringWriter;
import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
-import org.apache.catalina.Role;
-import org.apache.catalina.User;
import org.apache.catalina.connector.Request;
import org.apache.catalina.connector.Response;
-import org.apache.catalina.realm.GenericPrincipal;
import org.apache.catalina.valves.ValveBase;
import org.apache.log4j.Logger;
import org.jboss.identity.federation.api.saml.v2.common.IDGenerator;
import org.jboss.identity.federation.api.saml.v2.request.SAML2Request;
import org.jboss.identity.federation.api.saml.v2.response.SAML2Response;
+import org.jboss.identity.federation.bindings.interfaces.RoleGenerator;
+import org.jboss.identity.federation.bindings.tomcat.TomcatRoleGenerator;
import org.jboss.identity.federation.bindings.util.HTTPRedirectUtil;
import org.jboss.identity.federation.bindings.util.RedirectBindingUtil;
import org.jboss.identity.federation.core.saml.v2.constants.JBossSAMLURIConstants;
@@ -63,6 +59,8 @@
public class IDPRedirectValve extends ValveBase
{
private static Logger log = Logger.getLogger(IDPRedirectValve.class);
+
+ private RoleGenerator rg = new TomcatRoleGenerator();
private long assertionValidity = 5000; // 5minutes in seconds
@@ -196,7 +194,7 @@
sp.setResponseDestinationURI(authnRequestType.getAssertionConsumerServiceURL());
responseType = saml2Response.createResponseType(id, sp, idp, issuerHolder);
//Add information on the roles
- List<String> roles = getRoles(userPrincipal);
+ List<String> roles = rg.generateRoles(userPrincipal);
AssertionType assertion = (AssertionType) responseType.getAssertionOrEncryptedAssertion().get(0);
AttributeStatementType attrStatement = saml2Response.createAttributeStatements(roles);
@@ -216,32 +214,7 @@
return responseType;
}
-
- private List<String> getRoles(Principal tomcatPrincipal)
- {
- List<String> userRoles = new ArrayList<String>();
-
- if(tomcatPrincipal instanceof GenericPrincipal)
- {
- GenericPrincipal gp = (GenericPrincipal) tomcatPrincipal;
- String[] roles = gp.getRoles();
- if(roles.length > 0)
- userRoles.addAll(Arrays.asList(roles));
- }
- else
- if(tomcatPrincipal instanceof User)
- {
- User tomcatUser = (User) tomcatPrincipal;
- Iterator<?> iter = tomcatUser.getRoles();
- while(iter.hasNext())
- {
- Role tomcatRole = (Role) iter.next();
- userRoles.add(tomcatRole.getRolename());
- }
- }
- return userRoles;
- }
-
+
private String getSAMLMessage(Request request)
{
return request.getParameter("SAMLRequest");
More information about the jboss-identity-commits
mailing list