Author: markt
Date: Fri Dec 19 13:54:47 2014
New Revision: 1646720
URL: http://svn.apache.org/r1646720
Log:
Calls to associate need to trigger a Map update as well
Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java?rev=1646720&r1=1646719&r2=1646720&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java Fri
Dec 19 13:54:47 2014
@@ -354,18 +354,24 @@ public class SingleSignOn extends ValveB
*
* @param ssoId Single sign on identifier
* @param session Session to be associated
+ *
+ * @return <code>true</code> if the session was associated to the given SSO
+ * session, otherwise <code>false</code>
*/
- protected void associate(String ssoId, Session session) {
+ protected boolean associate(String ssoId, Session session) {
if (containerLog.isDebugEnabled()) {
containerLog.debug("Associate sso id " + ssoId + " with session "
+ session);
}
SingleSignOnEntry sso = cache.get(ssoId);
- if (sso != null) {
+ if (sso == null) {
+ return false;
+ } else {
sso.addSession(this, session);
+ reverse.put(new SingleSignOnSessionKey(session), ssoId);
+ return true;
}
- reverse.put(new SingleSignOnSessionKey(session), ssoId);
}
Modified:
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java?rev=1646720&r1=1646719&r2=1646720&view=diff
==============================================================================
---
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
(original)
+++
tomcat/trunk/java/org/apache/catalina/ha/authenticator/ClusterSingleSignOn.java
Fri Dec 19 13:54:47 2014
@@ -21,6 +21,7 @@ import java.security.Principal;
import org.apache.catalina.Container;
import org.apache.catalina.Host;
import org.apache.catalina.LifecycleException;
+import org.apache.catalina.Session;
import org.apache.catalina.authenticator.SingleSignOn;
import org.apache.catalina.authenticator.SingleSignOnEntry;
import org.apache.catalina.authenticator.SingleSignOnSessionKey;
@@ -95,6 +96,15 @@ public class ClusterSingleSignOn extends
// ---------------------------------------------------- SingleSignOn
Methods
@Override
+ protected boolean associate(String ssoId, Session session) {
+ boolean result = super.associate(ssoId, session);
+ if (result) {
+ ((ReplicatedMap<String,SingleSignOnEntry>) cache).replicate(ssoId,
true);
+ }
+ return result;
+ }
+
+ @Override
protected boolean update(String ssoId, Principal principal, String
authType,
String username, String password) {
boolean result = super.update(ssoId, principal, authType, username,
password);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]