[portal-commits] JBoss Portal SVN: r9069 - modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth.

portal-commits at lists.jboss.org portal-commits at lists.jboss.org
Wed Nov 21 17:42:57 EST 2007


Author: bdaw
Date: 2007-11-21 17:42:57 -0500 (Wed, 21 Nov 2007)
New Revision: 9069

Modified:
   modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPExtLoginModule.java
   modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPLoginModule.java
   modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLoginModule.java
Log:
Add more precise control on how Synchronizing Login Modules sync roles

Modified: modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPExtLoginModule.java
===================================================================
--- modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPExtLoginModule.java	2007-11-21 18:32:50 UTC (rev 9068)
+++ modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPExtLoginModule.java	2007-11-21 22:42:57 UTC (rev 9069)
@@ -61,6 +61,7 @@
    protected String roleModuleJNDIName;
    protected String membershipModuleJNDIName;
    protected String userProfileModuleJNDIName;
+   protected String preserveRoles;
 
 
    private UserModule userModule;
@@ -82,7 +83,9 @@
       synchronizeIdentity = (String)options.get("synchronizeIdentity");
       synchronizeRoles = (String)options.get("synchronizeRoles");
       defaultAssignedRole = (String)options.get("defaultAssignedRole");
+      preserveRoles = (String)options.get("preserveRoles");
 
+
       // Some info
       log.trace("additionalRole = " + additionalRole);
       log.trace("userModuleJNDIName = " + userModuleJNDIName);
@@ -92,6 +95,8 @@
       log.trace("synchronizeIdentity = " + synchronizeIdentity);
       log.trace("synchronizeRoles = " + synchronizeRoles);
       log.trace("defaultAssignedRole = " + defaultAssignedRole);
+      log.trace("preserveRoles = " + preserveRoles);
+      
    }
 
    protected UserModule getUserModule() throws Exception
@@ -317,6 +322,15 @@
 
                   if (rolesToAssign.size() > 0)
                   {
+                     // If we don't want to overwrite roles assignemts already present in identity store
+                     if ( isPreserveRoles() || !isSynchronizeRoles())
+                     {
+                        Set presentRoles = getMembershipModule().getRoles(user);
+                        if (presentRoles != null)
+                        {
+                           rolesToAssign.addAll(presentRoles);
+                        }
+                     }
                      getMembershipModule().assignRoles(user, rolesToAssign);
                   }
 
@@ -355,5 +369,14 @@
       return Boolean.TRUE.booleanValue();
    }
 
+   protected boolean isPreserveRoles()
+   {
+      if (preserveRoles != null && preserveRoles.equalsIgnoreCase("true"))
+      {
+            return Boolean.TRUE.booleanValue();
+      }
+      return Boolean.FALSE.booleanValue();
+   }
 
+
 }

Modified: modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPLoginModule.java
===================================================================
--- modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPLoginModule.java	2007-11-21 18:32:50 UTC (rev 9068)
+++ modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLDAPLoginModule.java	2007-11-21 22:42:57 UTC (rev 9069)
@@ -60,6 +60,7 @@
    protected String roleModuleJNDIName;
    protected String membershipModuleJNDIName;
    protected String userProfileModuleJNDIName;
+   protected String preserveRoles;
 
 
    private UserModule userModule;
@@ -80,7 +81,9 @@
       synchronizeIdentity = (String)options.get("synchronizeIdentity");
       synchronizeRoles = (String)options.get("synchronizeRoles");
       defaultAssignedRole = (String)options.get("defaultAssignedRole");
+      preserveRoles = (String)options.get("preserveRoles");
 
+
       // Some info
       log.trace("additionalRole = " + additionalRole);
       log.trace("userModuleJNDIName = " + userModuleJNDIName);
@@ -90,6 +93,8 @@
       log.trace("synchronizeIdentity = " + synchronizeIdentity);
       log.trace("synchronizeRoles = " + synchronizeRoles);
       log.trace("defaultAssignedRole = " + defaultAssignedRole);
+      log.trace("preserveRoles = " + preserveRoles);
+      
    }
 
    protected UserModule getUserModule() throws Exception
@@ -314,6 +319,16 @@
 
                   if (rolesToAssign.size() > 0)
                   {
+                     // If we don't want to overwrite roles assignemts already present in identity store
+                     if ( isPreserveRoles() || !isSynchronizeRoles())
+                     {
+                        Set presentRoles = getMembershipModule().getRoles(user);
+                        if (presentRoles != null)
+                        {
+                           rolesToAssign.addAll(presentRoles);
+                        }
+                     }
+
                      getMembershipModule().assignRoles(user, rolesToAssign);
                   }
 
@@ -352,5 +367,14 @@
       return Boolean.TRUE.booleanValue();
    }
 
+   protected boolean isPreserveRoles()
+   {
+      if (preserveRoles != null && preserveRoles.equalsIgnoreCase("true"))
+      {
+            return Boolean.TRUE.booleanValue();
+      }
+      return Boolean.FALSE.booleanValue();
+   }
 
+
 }

Modified: modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLoginModule.java
===================================================================
--- modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLoginModule.java	2007-11-21 18:32:50 UTC (rev 9068)
+++ modules/identity/branches/JBP_IDENTITY_BRANCH_1_0_0/identity/src/main/org/jboss/portal/identity/auth/SynchronizingLoginModule.java	2007-11-21 22:42:57 UTC (rev 9069)
@@ -63,8 +63,10 @@
    protected String roleModuleJNDIName;
    protected String membershipModuleJNDIName;
    protected String userProfileModuleJNDIName;
+   protected String preserveRoles;
 
 
+
    private UserModule userModule;
    private RoleModule roleModule;
    private MembershipModule membershipModule;
@@ -83,6 +85,7 @@
       synchronizeIdentity = (String)options.get("synchronizeIdentity");
       synchronizeRoles = (String)options.get("synchronizeRoles");
       defaultAssignedRole = (String)options.get("defaultAssignedRole");
+      preserveRoles = (String)options.get("preserveRoles");
 
       // Some info
       if (log.isTraceEnabled())
@@ -95,6 +98,7 @@
          log.trace("synchronizeIdentity = " + synchronizeIdentity);
          log.trace("synchronizeRoles = " + synchronizeRoles);
          log.trace("defaultAssignedRole = " + defaultAssignedRole);
+         log.trace("preserveRoles = " + preserveRoles);
       }
    }
 
@@ -352,6 +356,16 @@
 
                   if (rolesToAssign.size() > 0)
                   {
+                     // If we don't want to overwrite roles assignemts already present in identity store
+                     if ( isPreserveRoles() || !isSynchronizeRoles())
+                     {
+                        Set presentRoles = getMembershipModule().getRoles(user);
+                        if (presentRoles != null)
+                        {
+                           rolesToAssign.addAll(presentRoles);
+                        }
+                     }
+
                      getMembershipModule().assignRoles(user, rolesToAssign);
                   }
 
@@ -389,4 +403,13 @@
       }
       return Boolean.TRUE.booleanValue();
    }
+
+   protected boolean isPreserveRoles()
+   {
+      if (preserveRoles != null && preserveRoles.equalsIgnoreCase("true"))
+      {
+            return Boolean.TRUE.booleanValue();
+      }
+      return Boolean.FALSE.booleanValue();
+   }
 }




More information about the portal-commits mailing list