You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2016/10/21 15:01:01 UTC

[07/44] isis git commit: ISIS-1481: ensures that all methods of AuthenticatedWebSession are synchronized, in order to avoid a race conditions, eg in SessionLoggingService when authenicating.

ISIS-1481: ensures that all methods of AuthenticatedWebSession are synchronized, in order to avoid a race conditions, eg in SessionLoggingService when authenicating.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/bab40dc2
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/bab40dc2
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/bab40dc2

Branch: refs/heads/master
Commit: bab40dc25d00761bd447a0aaa7305f4efea7044d
Parents: 87966d8
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Sep 7 14:35:47 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Sep 7 14:35:47 2016 +0100

----------------------------------------------------------------------
 .../wicket/AuthenticatedWebSessionForIsis.java       | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/bab40dc2/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
index 60750f0..21189a1 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.viewer.integration.wicket;
 
 import java.util.Arrays;
 import java.util.List;
-import java.util.concurrent.Callable;
 
 import org.apache.wicket.Session;
 import org.apache.wicket.authroles.authentication.AuthenticatedWebSession;
@@ -68,7 +67,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
     }
 
     @Override
-    public boolean authenticate(final String username, final String password) {
+    public synchronized boolean authenticate(final String username, final String password) {
         AuthenticationRequest authenticationRequest = new AuthenticationRequestPassword(username, password);
         authenticationRequest.setRoles(Arrays.asList(USER_ROLE));
         authenticationSession = getAuthenticationManager().authenticate(authenticationRequest);
@@ -81,7 +80,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
     }
 
     @Override
-    public void invalidateNow() {
+    public synchronized void invalidateNow() {
 
         // similar code in Restful Objects viewer (UserResourceServerside#logout)
         // this needs to be done here because Wicket will expire the HTTP session
@@ -105,7 +104,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
     }
 
     @Override
-    public void onInvalidate() {
+    public synchronized void onInvalidate() {
         super.onInvalidate();
 
         SessionLoggingService.CausedBy causedBy = RequestCycle.get() != null
@@ -120,12 +119,12 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
         log(SessionLoggingService.Type.LOGOUT, userName, causedBy);
     }
 
-    public AuthenticationSession getAuthenticationSession() {
+    public synchronized AuthenticationSession getAuthenticationSession() {
         return authenticationSession;
     }
 
     @Override
-    public Roles getRoles() {
+    public synchronized Roles getRoles() {
         if (!isSignedIn()) {
             return null;
         }
@@ -134,7 +133,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
     }
 
     @Override
-    public void detach() {
+    public synchronized void detach() {
         breadcrumbModel.detach();
         super.detach();
     }
@@ -195,7 +194,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl
     }
 
     @Override
-    public void replaceSession() {
+    public synchronized void replaceSession() {
         // do nothing here because this will lead to problems with Shiro
         // see https://issues.apache.org/jira/browse/ISIS-1018
     }