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();
+ }
}
Show replies by date