Hi everyone,
As in my very recent previous email, I have been trying to get CAS Client
3.1.7 to work with Atlassian Jira. I have completed my task but need to make
a little modification to JiraCasAuthenticator.java

I added support for the logout function that gets called by Seraph when a
user logouts of Jira.

Index:
cas-client-integration-atlassian/src/main/java/org/jasig/cas/client/integration/atlassian/JiraCasAuthenticator.java
===================================================================
---
cas-client-integration-atlassian/src/main/java/org/jasig/cas/client/integration/atlassian/JiraCasAuthenticator.java
(revision 46469)
+++
cas-client-integration-atlassian/src/main/java/org/jasig/cas/client/integration/atlassian/JiraCasAuthenticator.java
(working copy)
@@ -6,6 +6,7 @@
 package org.jasig.cas.client.integration.atlassian;

 import com.atlassian.seraph.auth.DefaultAuthenticator;
+import com.atlassian.seraph.auth.AuthenticatorException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.jasig.cas.client.util.AbstractCasFilter;
@@ -33,7 +34,7 @@

         if (session != null) {
         // user already exists
-            if
(session.getAttribute(ConfluenceCasAuthenticator.LOGGED_IN_KEY) != null) {
+            if (session.getAttribute(LOGGED_IN_KEY) != null) {
                 log.info("Session found; user already logged in.");
                 return (Principal) session.getAttribute(LOGGED_IN_KEY);
             }
@@ -42,12 +43,27 @@

             if (assertion != null) {
                 final Principal p =
getUser(assertion.getPrincipal().getName());
-                request.getSession().setAttribute(LOGGED_IN_KEY, p);
-                request.getSession().setAttribute(LOGGED_OUT_KEY, null);
+                session.setAttribute(LOGGED_IN_KEY, p);
+                session.setAttribute(LOGGED_OUT_KEY, null);
                 return p;
             }
         }

         return super.getUser(request, response);
     }
-}
\ No newline at end of file
+
+    public boolean logout(final HttpServletRequest request, final
HttpServletResponse response)
+      throws AuthenticatorException {
+        final HttpSession session = request.getSession();
+
+        if (session != null) {
+            final Principal p = (Principal)
session.getAttribute(LOGGED_IN_KEY);
+            session.setAttribute(LOGGED_OUT_KEY,p);
+            session.setAttribute(LOGGED_IN_KEY,null);
+
 session.setAttribute(AbstractCasFilter.CONST_CAS_ASSERTION,null);
+            return true;
+        }
+
+        return super.logout(request, response);
+    }
+}


John Watson
Jr. Web Developer
University of California, Merced

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to