Java Doc for SingleSignOn.java in  » Sevlet-Container » tomcat-catalina » org » apache » catalina » authenticator » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Sevlet Container » tomcat catalina » org.apache.catalina.authenticator 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   org.apache.catalina.valves.ValveBase
      org.apache.catalina.authenticator.SingleSignOn

SingleSignOn
public class SingleSignOn extends ValveBase implements Lifecycle,SessionListener(Code)
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. For successful use, the following requirements must be met:
  • This Valve must be configured on the Container that represents a virtual host (typically an implementation of Host).
  • The Realm that contains the shared user and role information must be configured on the same Container (or a higher one), and not overridden at the web application level.
  • The web applications themselves must use one of the standard Authenticators found in the org.apache.catalina.authenticator package.

author:
   Craig R. McClanahan
version:
   $Revision: 1.13 $ $Date: 2004/04/26 21:50:36 $


Field Summary
protected  HashMapcache
     The cache of SingleSignOnEntry instances for authenticated Principals, keyed by the cookie value that is used to select them.
protected  intdebug
     The debugging detail level for this component.
protected static  Stringinfo
     Descriptive information about this Valve implementation.
protected  LifecycleSupportlifecycle
     The lifecycle event support for this component.
protected  HashMapreverse
     The cache of single sign on identifiers, keyed by the Session that is associated with them.
final protected static  StringManagersm
     The string manager for this package.
protected  booleanstarted
     Component started flag.


Method Summary
public  voidaddLifecycleListener(LifecycleListener listener)
     Add a lifecycle event listener to this component.
protected  voidassociate(String ssoId, Session session)
     Associate the specified single sign on identifier with the specified Session.
protected  voidderegister(String ssoId, Session session)
     Deregister the specified session.
protected  voidderegister(String ssoId)
     Deregister the specified single sign on identifier, and invalidate any associated sessions.
public  LifecycleListener[]findLifecycleListeners()
     Get the lifecycle listeners associated with this lifecycle.
public  intgetDebug()
     Return the debugging detail level.
public  StringgetInfo()
     Return descriptive information about this Valve implementation.
public  booleangetRequireReauthentication()
     Gets whether each request needs to be reauthenticated (by an Authenticator downstream in the pipeline) to the security Realm, or if this Valve can itself bind security info to the request based on the presence of a valid SSO entry without rechecking with the Realm
public  voidinvoke(Request request, Response response, ValveContext context)
     Perform single-sign-on support processing for this request.
protected  voidlog(String message)
     Log a message on the Logger associated with our Container (if any).
protected  voidlog(String message, Throwable throwable)
     Log a message on the Logger associated with our Container (if any).
protected  SingleSignOnEntrylookup(String ssoId)
     Look up and return the cached SingleSignOn entry associated with this sso id value, if there is one; otherwise return null.
protected  booleanreauthenticate(String ssoId, Realm realm, HttpRequest request)
     Attempts reauthentication to the given Realm using the credentials associated with the single sign-on session identified by argument ssoId.
protected  voidregister(String ssoId, Principal principal, String authType, String username, String password)
     Register the specified Principal as being associated with the specified value for the single sign on identifier.
public  voidremoveLifecycleListener(LifecycleListener listener)
     Remove a lifecycle event listener from this component.
protected  voidremoveSession(String ssoId, Session session)
     Remove a single Session from a SingleSignOn.
public  voidsessionEvent(SessionEvent event)
     Acknowledge the occurrence of the specified event.
public  voidsetDebug(int debug)
     Set the debugging detail level.
public  voidsetRequireReauthentication(boolean required)
     Sets whether each request needs to be reauthenticated (by an Authenticator downstream in the pipeline) to the security Realm, or if this Valve can itself bind security info to the request, based on the presence of a valid SSO entry, without rechecking with the Realm If this property is false (the default), this Valve will bind a UserPrincipal and AuthType to the request if a valid SSO entry is associated with the request.
public  voidstart()
     Prepare for the beginning of active use of the public methods of this component.
public  voidstop()
     Gracefully terminate the active use of the public methods of this component.
public  StringtoString()
     Return a String rendering of this object.
protected  voidupdate(String ssoId, Principal principal, String authType, String username, String password)
     Updates any SingleSignOnEntry found under key ssoId with the given authentication data.

The purpose of this method is to allow an SSO entry that was established without a username/password combination (i.e.


Field Detail
cache
protected HashMap cache(Code)
The cache of SingleSignOnEntry instances for authenticated Principals, keyed by the cookie value that is used to select them.



debug
protected int debug(Code)
The debugging detail level for this component.



info
protected static String info(Code)
Descriptive information about this Valve implementation.



lifecycle
protected LifecycleSupport lifecycle(Code)
The lifecycle event support for this component.



reverse
protected HashMap reverse(Code)
The cache of single sign on identifiers, keyed by the Session that is associated with them.



sm
final protected static StringManager sm(Code)
The string manager for this package.



started
protected boolean started(Code)
Component started flag.





Method Detail
addLifecycleListener
public void addLifecycleListener(LifecycleListener listener)(Code)
Add a lifecycle event listener to this component.
Parameters:
  listener - The listener to add



associate
protected void associate(String ssoId, Session session)(Code)
Associate the specified single sign on identifier with the specified Session.
Parameters:
  ssoId - Single sign on identifier
Parameters:
  session - Session to be associated



deregister
protected void deregister(String ssoId, Session session)(Code)
Deregister the specified session. If it is the last session, then also get rid of the single sign on identifier
Parameters:
  ssoId - Single sign on identifier
Parameters:
  session - Session to be deregistered



deregister
protected void deregister(String ssoId)(Code)
Deregister the specified single sign on identifier, and invalidate any associated sessions.
Parameters:
  ssoId - Single sign on identifier to deregister



findLifecycleListeners
public LifecycleListener[] findLifecycleListeners()(Code)
Get the lifecycle listeners associated with this lifecycle. If this Lifecycle has no listeners registered, a zero-length array is returned.



getDebug
public int getDebug()(Code)
Return the debugging detail level.



getInfo
public String getInfo()(Code)
Return descriptive information about this Valve implementation.



getRequireReauthentication
public boolean getRequireReauthentication()(Code)
Gets whether each request needs to be reauthenticated (by an Authenticator downstream in the pipeline) to the security Realm, or if this Valve can itself bind security info to the request based on the presence of a valid SSO entry without rechecking with the Realmtrue if it is required that a downstreamAuthenticator reauthenticate each request before calls toHttpServletRequest.setUserPrincipal()and HttpServletRequest.setAuthType() are made;false if the Valve can itself makethose calls relying on the presence of a valid SingleSignOnentry associated with the request.
See Also:   SingleSignOn.setRequireReauthentication



invoke
public void invoke(Request request, Response response, ValveContext context) throws IOException, ServletException(Code)
Perform single-sign-on support processing for this request.
Parameters:
  request - The servlet request we are processing
Parameters:
  response - The servlet response we are creating
Parameters:
  context - The valve context used to invoke the next valvein the current processing pipeline
exception:
  IOException - if an input/output error occurs
exception:
  ServletException - if a servlet error occurs



log
protected void log(String message)(Code)
Log a message on the Logger associated with our Container (if any).
Parameters:
  message - Message to be logged



log
protected void log(String message, Throwable throwable)(Code)
Log a message on the Logger associated with our Container (if any).
Parameters:
  message - Message to be logged
Parameters:
  throwable - Associated exception



lookup
protected SingleSignOnEntry lookup(String ssoId)(Code)
Look up and return the cached SingleSignOn entry associated with this sso id value, if there is one; otherwise return null.
Parameters:
  ssoId - Single sign on identifier to look up



reauthenticate
protected boolean reauthenticate(String ssoId, Realm realm, HttpRequest request)(Code)
Attempts reauthentication to the given Realm using the credentials associated with the single sign-on session identified by argument ssoId.

If reauthentication is successful, the Principal and authorization type associated with the SSO session will be bound to the given HttpRequest object via calls to HttpRequest.setAuthType HttpRequest.setAuthType() and HttpRequest.setUserPrincipal HttpRequest.setUserPrincipal()


Parameters:
  ssoId - identifier of SingleSignOn session with which thecaller is associated
Parameters:
  realm - Realm implementation against which the caller is tobe authenticated
Parameters:
  request - the request that needs to be authenticated true if reauthentication was successful,false otherwise.



register
protected void register(String ssoId, Principal principal, String authType, String username, String password)(Code)
Register the specified Principal as being associated with the specified value for the single sign on identifier.
Parameters:
  ssoId - Single sign on identifier to register
Parameters:
  principal - Associated user principal that is identified
Parameters:
  authType - Authentication type used to authenticate thisuser principal
Parameters:
  username - Username used to authenticate this user
Parameters:
  password - Password used to authenticate this user



removeLifecycleListener
public void removeLifecycleListener(LifecycleListener listener)(Code)
Remove a lifecycle event listener from this component.
Parameters:
  listener - The listener to remove



removeSession
protected void removeSession(String ssoId, Session session)(Code)
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.
Parameters:
  session - the session to be removed.



sessionEvent
public void sessionEvent(SessionEvent event)(Code)
Acknowledge the occurrence of the specified event.
Parameters:
  event - SessionEvent that has occurred



setDebug
public void setDebug(int debug)(Code)
Set the debugging detail level.
Parameters:
  debug - The new debugging detail level



setRequireReauthentication
public void setRequireReauthentication(boolean required)(Code)
Sets whether each request needs to be reauthenticated (by an Authenticator downstream in the pipeline) to the security Realm, or if this Valve can itself bind security info to the request, based on the presence of a valid SSO entry, without rechecking with the Realm If this property is false (the default), this Valve will bind a UserPrincipal and AuthType to the request if a valid SSO entry is associated with the request. It will not notify the security Realm of the incoming request.

This property should be set to true if the overall server configuration requires that the Realm reauthenticate each request thread. An example of such a configuration would be one where the Realm implementation provides security for both a web tier and an associated EJB tier, and needs to set security credentials on each request thread in order to support EJB access.

If this property is set to true, this Valve will set flags on the request notifying the downstream Authenticator that the request is associated with an SSO session. The Authenticator will then call its AuthenticatorBase.reauthenticateFromSSO reauthenticateFromSSO method to attempt to reauthenticate the request to the Realm, using any credentials that were cached with this Valve.

The default value of this property is false, in order to maintain backward compatibility with previous versions of Tomcat.
Parameters:
  required - true if it is required that a downstreamAuthenticator reauthenticate each request before callsto HttpServletRequest.setUserPrincipal()and HttpServletRequest.setAuthType() aremade; false if the Valve canitself make those calls relying on the presence of avalid SingleSignOn entry associated with the request.
See Also:   AuthenticatorBase.reauthenticateFromSSO




start
public void start() throws LifecycleException(Code)
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.
exception:
  LifecycleException - if this component detects a fatal errorthat prevents this component from being used



stop
public void stop() throws LifecycleException(Code)
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.
exception:
  LifecycleException - if this component detects a fatal errorthat needs to be reported



toString
public String toString()(Code)
Return a String rendering of this object.



update
protected void update(String ssoId, Principal principal, String authType, String username, String password)(Code)
Updates any SingleSignOnEntry found under key ssoId with the given authentication data.

The purpose of this method is to allow an SSO entry that was established without a username/password combination (i.e. established following DIGEST or CLIENT-CERT authentication) to be updated with a username and password if one becomes available through a subsequent BASIC or FORM authentication. The SSO entry will then be usable for reauthentication.

NOTE: Only updates the SSO entry if a call to SingleSignOnEntry.getCanReauthenticate() returns false; otherwise, it is assumed that the SSO entry already has sufficient information to allow reauthentication and that no update is needed.
Parameters:
  ssoId - identifier of Single sign to be updated
Parameters:
  principal - the Principal returned by the latestcall to Realm.authenticate.
Parameters:
  authType - the type of authenticator used (BASIC, CLIENT-CERT,DIGEST or FORM)
Parameters:
  username - the username (if any) used for the authentication
Parameters:
  password - the password (if any) used for the authentication




Fields inherited from org.apache.catalina.valves.ValveBase
protected Container container(Code)(Java Doc)
protected ObjectName controller(Code)(Java Doc)
protected int debug(Code)(Java Doc)
protected String domain(Code)(Java Doc)
protected static String info(Code)(Java Doc)
protected MBeanServer mserver(Code)(Java Doc)
protected ObjectName oname(Code)(Java Doc)
final protected static StringManager sm(Code)(Java Doc)

Methods inherited from org.apache.catalina.valves.ValveBase
public ObjectName createObjectName(String domain, ObjectName parent) throws MalformedObjectNameException(Code)(Java Doc)
public Container getContainer()(Code)(Java Doc)
public ObjectName getContainerName()(Code)(Java Doc)
public ObjectName getController()(Code)(Java Doc)
public int getDebug()(Code)(Java Doc)
public String getDomain()(Code)(Java Doc)
public String getInfo()(Code)(Java Doc)
public ObjectName getObjectName()(Code)(Java Doc)
public ObjectName getParentName(ObjectName valveName)(Code)(Java Doc)
abstract public void invoke(Request request, Response response, ValveContext context) throws IOException, ServletException(Code)(Java Doc)
public void postDeregister()(Code)(Java Doc)
public void postRegister(Boolean registrationDone)(Code)(Java Doc)
public void preDeregister() throws Exception(Code)(Java Doc)
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception(Code)(Java Doc)
public void setContainer(Container container)(Code)(Java Doc)
public void setController(ObjectName controller)(Code)(Java Doc)
public void setDebug(int debug)(Code)(Java Doc)
public void setObjectName(ObjectName oname)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.