com.sun.enterprise.security.web
Class GlassFishSingleSignOn

java.lang.Object
  extended by org.apache.catalina.valves.ValveBase
      extended by org.apache.catalina.authenticator.SingleSignOn
          extended by com.sun.enterprise.security.web.GlassFishSingleSignOn
All Implemented Interfaces:
SingleSignOnMBean, java.lang.Runnable, javax.management.MBeanRegistration, Contained, Lifecycle, SessionListener, Valve, GlassFishValve

public class GlassFishSingleSignOn
extends SingleSignOn
implements SessionListener, java.lang.Runnable, SingleSignOnMBean

A Valve that supports a "single sign on" user experience, where the security identity of a user who successfully authenticates to one web application is propogated to other web applications in the same security domain.

Author:
Jyri Virkki (first implementation), Jean-Francois Arcand

Field Summary
 
Fields inherited from class org.apache.catalina.authenticator.SingleSignOn
cache, info, sm
 
Fields inherited from class org.apache.catalina.valves.ValveBase
container, controller, debug, domain, lifecycle, mserver, next, oname, started
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, INIT_EVENT, START_EVENT, STOP_EVENT
 
Fields inherited from interface org.glassfish.web.valve.GlassFishValve
END_PIPELINE, INVOKE_NEXT
 
Constructor Summary
GlassFishSingleSignOn()
           
 
Method Summary
protected  void deregister(java.lang.String ssoId)
          Deregister the specified single sign on identifier, and invalidate any associated sessions.
 int getActiveSessionCount()
          Gets the number of sessions participating in SSO
 int getHitCount()
          Gets the number of SSO cache hits
 int getMaxInactive()
          Return max idle time for SSO entries (seconds)
 int getMissCount()
          Gets the number of SSO cache misses
 int getReapInterval()
          Return expire thread interval (seconds)
 int invoke(Request request, Response response)
          IASRI 4665318 public void invoke(Request request, Response response, ValveContext context) throws IOException, ServletException {
protected  void removeSession(java.lang.String ssoId, Session session)
          Remove a single Session from a SingleSignOn.
 void run()
          The background thread that checks for SSO timeouts and shutdown.
 void sessionEvent(SessionEvent event)
          Acknowledge the occurrence of the specified event.
 void setMaxInactive(int t)
          Set max idle time for SSO entries (seconds)
 void setReapInterval(int t)
          Set expire thread interval (seconds)
 void start()
          Prepare for the beginning of active use of the public methods of this component.
 void stop()
          Gracefully terminate the active use of the public methods of this component.
 
Methods inherited from class org.apache.catalina.authenticator.SingleSignOn
associate, deregister, getDebug, getInfo, log, log, lookup, register, setDebug, toString
 
Methods inherited from class org.apache.catalina.valves.ValveBase
addLifecycleListener, backgroundProcess, createObjectName, event, findLifecycleListeners, getContainer, getContainerName, getController, getDomain, getNext, getObjectName, getParentName, invoke, isStarted, postDeregister, postInvoke, postRegister, preDeregister, preRegister, removeLifecycleListener, setContainer, setController, setNext, setObjectName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GlassFishSingleSignOn

public GlassFishSingleSignOn()
Method Detail

getReapInterval

public int getReapInterval()
Return expire thread interval (seconds)


setReapInterval

public void setReapInterval(int t)
Set expire thread interval (seconds)


getMaxInactive

public int getMaxInactive()
Return max idle time for SSO entries (seconds)


setMaxInactive

public void setMaxInactive(int t)
Set max idle time for SSO entries (seconds)


start

public void start()
           throws LifecycleException
Prepare for the beginning of active use of the public methods of this component. This method should be called after configure(), and before any of the public methods of the component are utilized.

Specified by:
start in interface Lifecycle
Overrides:
start in class SingleSignOn
Throws:
LifecycleException - if this component detects a fatal error that prevents this component from being used

stop

public void stop()
          throws LifecycleException
Gracefully terminate the active use of the public methods of this component. This method should be the last one called on a given instance of this component.

Specified by:
stop in interface Lifecycle
Overrides:
stop in class SingleSignOn
Throws:
LifecycleException - if this component detects a fatal error that needs to be reported

sessionEvent

public void sessionEvent(SessionEvent event)
Acknowledge the occurrence of the specified event.

Specified by:
sessionEvent in interface SessionListener
Overrides:
sessionEvent in class SingleSignOn
Parameters:
event - SessionEvent that has occurred

invoke

public int invoke(Request request,
                  Response response)
           throws java.io.IOException,
                  javax.servlet.ServletException
IASRI 4665318 public void invoke(Request request, Response response, ValveContext context) throws IOException, ServletException {

Specified by:
invoke in interface GlassFishValve
Overrides:
invoke in class SingleSignOn
Throws:
java.io.IOException
javax.servlet.ServletException

deregister

protected void deregister(java.lang.String ssoId)
Deregister the specified single sign on identifier, and invalidate any associated sessions.

Parameters:
ssoId - Single sign on identifier to deregister

run

public void run()
The background thread that checks for SSO timeouts and shutdown.

Specified by:
run in interface java.lang.Runnable

removeSession

protected void removeSession(java.lang.String ssoId,
                             Session session)
Remove a single Session from a SingleSignOn. Called when a session is timed out and no longer active.

Parameters:
ssoId - Single sign on identifier from which to remove the session.
session - the session to be removed.

getActiveSessionCount

public int getActiveSessionCount()
Gets the number of sessions participating in SSO

Specified by:
getActiveSessionCount in interface SingleSignOnMBean
Returns:
Number of sessions participating in SSO

getHitCount

public int getHitCount()
Gets the number of SSO cache hits

Specified by:
getHitCount in interface SingleSignOnMBean
Returns:
Number of SSO cache hits

getMissCount

public int getMissCount()
Gets the number of SSO cache misses

Specified by:
getMissCount in interface SingleSignOnMBean
Returns:
Number of SSO cache misses


Copyright © 2012 GlassFish Community. All Rights Reserved.