SlideShare a Scribd company logo
Fast and Free SSO: A Survey
of Open-Source Solutions to
Single Sign-on
Craig Dickson, Software Engineering Manager
Naveen Nallannagari, Senior Consultant

Behr Process Corporation
www.behr.com
TS-4604

                           2007 JavaOneSM Conference | Session TS-4604 |
Goals of This Presentation
A Survey of Open-Source Solutions to Single Sign-on



    Present a sample of the different open
    source based SSO solutions, critically
    compare and contrast them and provide
    tips on how to choose the right one to fit
    your needs.



                      2007 JavaOneSM Conference | Session TS-4604 |   2
Agenda

What is SSO? (briefly)
Survey of the main Open Source players
Head-to-Head Comparisons
Summary
Q&A




                2007 JavaOneSM Conference | Session TS-4604 |   3
Agenda

What is SSO?
Survey of the main Open Source players
Head-to-Head Comparisons
Summary
Q&A




                2007 JavaOneSM Conference | Session TS-4604 |   4
What is SSO?
It is definitely not …



“Every Single time you want to do something, you
  are going to have to Sign-On!”
               - Your Sys Admin




                         2007 JavaOneSM Conference | Session TS-4604 |   5
What is SSO?
This is more like it …


• Authenticate only once and access multiple
  resources
• Improved user productivity
• Improved developer productivity
• Ease of administration




                         2007 JavaOneSM Conference | Session TS-4604 |   6
What is SSO?
But what about the downsides …


• Potentially creates a single point of attack
   • Malicious types only need 1 set of credentials and they
     can do a lot of damage
• Can be very difficult to retrofit existing
  applications and infrastructure with an SSO
  solution




                       2007 JavaOneSM Conference | Session TS-4604 |   7
Agenda

What is SSO?
Survey of the main Open Source players
Head-to-Head Comparisons
Summary
Q&A




               2007 JavaOneSM Conference | Session TS-4604 |   8
OpenSSO
Open Web SSO
• Mission of OpenSSO:
 To provide an extensible implementation of identity
 services infrastructure that will facilitate Single Sign-On for
 web applications.
• From the java.net community
• Focused on Web based Single Sign-On
  • a common starting point for many identity management
    projects




                       2007 JavaOneSM Conference | Session TS-4604 |   9
OpenSSO
Continued …

• Sun will make the following Sun Java™ System Access
  Manager modules freely available as part of OpenSSO:
   • Authentication
   • Single-domain SSO
   • Web and Java 2 Platform, Enterprise Edition
     (J2EE™ platform) agents
   • Session Management
   • Policy
   • Console
   • Administration tools
   • Federation
   • Policy agents


                          2007 JavaOneSM Conference | Session TS-4604 |   10
OpenSSO
OpenSSO Architecture




                   2007 JavaOneSM Conference | Session TS-4604 |   11
OpenSSO
OpenSSO Configuration

• Open SSO is deployed as only one application
   • opensso.war


• After installation, configuration (name of host,
  protocol etc) can be done at:
  http://localhost:8080/opensso/configurator.jsp


• Realms have to be created


                     2007 JavaOneSM Conference | Session TS-4604 |   12
OpenSSO
OpenSSO Configuration
• Installation of Agent (e.g. Tomcat)
    • agentadmin - install
• Modify web.xml
    <security-constraint>
       <web-resource-collection>
           <web-resource-name>Protected Resources</web-resource-name>
          <url-pattern>/secure/*</url-pattern>
       </web-resource-collection>
       <auth-constraint>
           <role-name>id=teste, ou=role, dc=opensso, dc=java, dc=net</role-name>
       </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/authentication/login.html</form-login-page>
            <form-error-page>/authentication/accessdenied.html</form-error-page>
        </form-login-config>
    </login-config>
    <security-roll id="test">
        <role-name>id=test, ou=role, dc=opensso, dc=java, dc=net</role-name>
    </security-role>



                                 2007 JavaOneSM Conference | Session TS-4604 |   13
JOSSO
Java Open Single Sign-On

• Based on Java Authentication and Authorization Service
  (JAAS)
• Uses web services implemented with Apache Axis as the
  distributed infrastructure
• Uses Apache Struts and JavaServer Pages™ technology
  (JSP™ page) technology standards
• Comes with a Reverse Proxy component that can be used
  to create n-tier Single Sign-On configurations
   • Allows n-tier configurations using multiple strategies, including
     storing user information and credentials in LDAP, Databases and
     XML files

                          2007 JavaOneSM Conference | Session TS-4604 |   14
JOSSO
Continued …


• Implement and combine multiple authentication
  schemes with credential stores
• Credential Stores are repositories for user
  credentials, to be used during the user
  authentication transaction
• Can be configure to use (for example) certificate-
  based authentication scheme, obtaining user
  X.509 certificates from a database using Java
  DataBase Connectivity (JDBC™) software

                    2007 JavaOneSM Conference | Session TS-4604 |   15
JOSSO
JOSSO Architecture




                     2007 JavaOneSM Conference | Session TS-4604 |   16
JOSSO
JOSSO Configuration


• Integration of JOSSO with specific application
  Server (Tomcat or JBoss)

• Integrating Java Web Application with JOSSO




                      2007 JavaOneSM Conference | Session TS-4604 |   17
JOSSO
JOSSO Configuration - Integration with Tomcat or JBoss

• The Single Sign–on Gateway Configuration
   • Configuration file: josso-gateway-config.xml
       ●
            Authenticator
       ●    Identity Manager
       ●    Session Manager
       ●    Audit Manager
       ●    Event Manager

• Single Sign On Agent Configuration
   • To check that a previously user logged in is authorized to access
     a web context
   • Configuration file to declare the concrete configuration files:
       ●   $CATALINA_HOME/bin/josso-config.xml


                           2007 JavaOneSM Conference | Session TS-4604 |   18
JOSSO
JOSSO Configuration - Integration with Tomcat or JBoss

• Protect a Web Application
   • Add to server.xml file
    <Host>
        ...
        <Valve className="org.josso.tc50.agent.SSOAgentValve" debug="1"/>
        ...
    </Host>


   • For each request to the /partner Web Context, the Single Sign-
     On Agent will intercept it, assert the Single Sign-On session and
     obtain the user data from the Single Sign-On Gateway.



                              2007 JavaOneSM Conference | Session TS-4604 |   19
JOSSO
JOSSO Configuration - Integration with Tomcat or JBoss

• Add a JAAS Realm
   • In order to integrate the Single Sign-On Agent with the Single
     Sign-On Gateway a JAAS Tomcat Realm entry must be added to
     the server.xml.
• Configure a JAAS Login Module
   • jaas.conf file in the $CATALINA_HOME/conf directory with the
     following content:
   josso {
      org.josso.tc50.agent.jaas.SSOGatewayLoginModule
      required debug=true;
   };
   • The Login Module validates the session and obtains the
     corresponding user and role information by invoking the gateway
     identity management webservices.


                          2007 JavaOneSM Conference | Session TS-4604 |   20
JOSSO
JOSSO Configuration - Integration with Tomcat or JBoss
• Configure the Agent
<?xml version="1.0" encoding="ISO-8859-1" ?>
<agent>
    <class>org.josso.tc50.agent.CatalinaSSOAgent</class>
    <gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLo
       ginUrl>
    <gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gateway
       LogoutUrl>
    <sessionAccessMinInterval>1000</sessionAccessMinInterval>
    <service-locator>
         <class>org.josso.gateway.WebserviceGatewayServiceLocator</class>
         <endpoint>localhost:8080</endpoint>
    </service-locator>
    <partner-apps>
         <partner-app>
                  <context>/partner</context>
         </partner-app>
    </partner-apps>
</agent>



                            2007 JavaOneSM Conference | Session TS-4604 |   21
JOSSO
JOSSO Configuration – Integration Java application with JOSSO

• Web application Security Constraints

• Configured using three elements in web.xml
  • <login-config> element
   •   <security-constraint> element
   •   <security-role> element




                        2007 JavaOneSM Conference | Session TS-4604 |   22
JOSSO
JOSSO Configuration – Integration Java application with JOSSO

• Integrating Enterprise JavaBeans™ (EJB™) with JOSSO
   •   The security constraints should be declared in the ejb-jar.xml file of the partner
       components based on the Enterprise JavaBeans specification (EJB components)
   •   For the user identity to be propagated to the EJB components tier, the jboss.xml
       file must set java:/jaas/josso as the security domain in the following way:

   <?xml version="1.0" encoding="UTF-8"?>
   <jboss>
      <security-domain>java:/jaas/josso</security-domain>
      <enterprise-beans>
         <session>
            <ejb-name>PartnerComponentEJB</ejb-name>
            <jndi-name>josso/samples/PartnerComponentEJB</jndi-name>
         </session>
      </enterprise-beans>
   </jboss>



                                 2007 JavaOneSM Conference | Session TS-4604 |   23
JA-SIG CAS
Central Authentication Service


• An open and well-documented protocol
• A library of clients for Java technology, .NET,
  PHP, Perl, Apache, uPortal and others
• Integrates with uPortal, BlueSocket, TikiWiki,
  Mule, Liferay, Moodle and others
• Community documentation and implementation
  support
• An extensive community of adopters

                       2007 JavaOneSM Conference | Session TS-4604 |   24
JA-SIG CAS
Continued …

• The players involved
   •   CAS (The Central Authentication Service)
   •   Service
   •   Proxy
   •   Target (or back-end service)
• CAS authentication make use of tickets, or opaque strings
  that prove some assertion to CAS.
• CAS 2.0 uses the following tickets
   •   Ticket-granting cookie (TGC)
   •   Service ticket (ST)
   •   Proxy-granting ticket (PGT)
   •   Proxy-granting ticket IOU (PGTIOU)
   •   Proxy ticket (PT)

                           2007 JavaOneSM Conference | Session TS-4604 |   25
JA-SIG CAS
CAS Architecture




                   2007 JavaOneSM Conference | Session TS-4604 |   26
JA-SIG CAS
CAS Configuration


• Server Deployment

• Client Configuration




                    2007 JavaOneSM Conference | Session TS-4604 |   27
JA-SIG CAS
CAS Configuration- Server Deployment


• Based on authentication scheme used
   • password based
   • certificate based


• Need to implement Authentication Handler
  interface




                         2007 JavaOneSM Conference | Session TS-4604 |   28
JA-SIG CAS
CAS Configuration- Server Deployment

• Example : Password based
public class UsernameLengthAuthnHandler implements AuthenticationHandler {

    public boolean authenticate(Credentials credentials) throws
            AuthenticationException {
        UsernamePasswordCredentials upCredentials =
            (UsernamePasswordCredentials) credentials;
        String username = upCredentials.getUsername();
        String password = upCredentials.getPassword();
        String correctPassword = Integer.toString(username.length());
        return correctPassword.equals(password);
    }

    public boolean supports(Credentials credentials) {
        // we support credentials that bear usernames and passwords
        return credentials instanceof UsernamePasswordCredentials;
    }
}
                             2007 JavaOneSM Conference | Session TS-4604 |   29
JA-SIG CAS
CAS Configuration- Server Deployment


• Customizing views
   • The existing views can be changed (i.e. JSP pages to
     match the look and feel of the applications)

• Using LDAP for authentication
   • Install the CAS LDAP authentication handler .jar file -
     cas-server-ldap-{SOMETHING}.jar
   • Include an LDAP library ("LdapTemplate" or "Spring
     LDAP") intoCAS server


                       2007 JavaOneSM Conference | Session TS-4604 |   30
JA-SIG CAS
CAS Configuration- Server Deployment


• Using X.509Certificates
   • CAS provides customizations to the CAS webflow to retrieve
     certificates from the HttpServletRequest, package the certificates
     into Credentials CAS can understand and pass them into the
     CentralAuthenticationService service.
   • Provides an authentication handler to determine the validity of a
     certificate and if the credentials are authentic or not.
   • Provides sample resolvers to translate the credentials into a
     principal that client applications will understand.




                           2007 JavaOneSM Conference | Session TS-4604 |   31
JA-SIG CAS
CAS Configuration- Client


• Various Clients
   •   Java technology client
   •   JSP software client
   •   Uportal client
   •   Acegi as CAS client
   •   Perl, ASP.NET client etc.




                        2007 JavaOneSM Conference | Session TS-4604 |   32
JA-SIG CAS
CAS Configuration- Client
• Java technology Client Configuration
• CASFilter configuration - Example
  <web-app>
  ...
      <filter>
          <filter-name>CAS Filter</filter-name>
          <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
          <init-param>
               <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
               <param-value>https://secure.its.yale.edu/cas/login</param-value>
          </init-param>
          <init-param>
               <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
               <param-value>https://secure.its.yale.edu/cas/serviceValidate</param-value>
          </init-param>
          <init-param>
               <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
               <param-value>your server name and port (e.g., www.yale.edu:8080)</param-
  value>
          </init-param>
      </filter>
      <filter-mapping>
          <filter-name>CAS Filter</filter-name>
          <url-pattern>/requires-cas-authetication/*</url-pattern>
      </filter-mapping>
      ...
  </web-app>




                                 2007 JavaOneSM Conference | Session TS-4604 |   33
Agenda

What is SSO?
Survey of the main Open Source players
Head-to-Head Comparisons
Summary
Q&A




                2007 JavaOneSM Conference | Session TS-4604 |   34
Head-to-Head Comparison
Retrofitting an existing application

• JOSSO
   • No support for certain application servers
   • Does provide a plugin infrastructure to facilitate
     integration with other containers; you can base your
     own plugin on existing samples
• OpenSSO
   • can fit into a multitude of application servers because
     of the availability of agents
   • These agents include Apache, Sun Java System Web
     Server, Microsoft IIS, Domino


                         2007 JavaOneSM Conference | Session TS-4604 |   35
Head-to-Head Comparison
Integration of non-Java applications


• JOSSO
   • Uses web services for asserting user identity via SOAP
   • Allows the integration of non-Java applications (e.g.
     PHP, .NET etc.)
• CAS
   • There are many client libraries to assist in “CASifying”
     applications
   • Examples include AuthCAS for Apache, a uPortal
     client, a Java technology Client, a PHP client and a
     Perl client

                       2007 JavaOneSM Conference | Session TS-4604 |   36
Head-to-Head Comparison
Customizability

• JOSSO
   • If your application server is not supported, need to customize by
     writing plugins
• CAS
   •   Basic implementation includes only HTTPS
   •   Can be easily customized to be HTTP enabled
   •   Look and feel of login pages can be changed
   •   Comes with pluggable authenticators to validate against LDAP
       etc.
• OpenSSO
   • Customizations can be done by writing Authentication modules
   • Authentication User Interface JSP pages can be customized by
     Realm, Locale, Client type or any Service of the SSO system


                           2007 JavaOneSM Conference | Session TS-4604 |   37
Head-to-Head Comparison
Ease of Deployment

• CAS
   • Involves deploying CAS Server (downloadable as a pre-built WAR
     file or can be customized) and a CAS client with each application
• JOSSO
   • Involves Configuration of:
       ●   Single Sign-On Gateway
       ●   the Authenticator
       ●   the Identity Manager
       ●   the Session Manager
• OpenSSO
   • Deployable as a WAR file


                            2007 JavaOneSM Conference | Session TS-4604 |   38
Head-to-Head Comparison
Authentication for non-browser-based clients


• CAS
   • Has Proxy Authentication support
• OpenSSO
   • Does not have out-of-the-box support for CAS-like
     proxy authentication, however there are authentication
     APIs available to build one
• JOSSO
   • Comes with a Reverse Proxy component that can be
     used to create n-tier Single Sign-On configurations

                       2007 JavaOneSM Conference | Session TS-4604 |   39
Head-to-Head Comparison
Support for web service security


• JASSO
   • Can be used to secure web services but is limited due
     to the level of application server support
• CAS
   • Supports web service security by protecting URLs
• OpenSSO
   • Has started work related to web services security



                       2007 JavaOneSM Conference | Session TS-4604 |   40
Head-to-Head Comparison
Community support


• As all three are Open Source solutions, the
  support is in the form of project websites,
  community generated documentation, user
  forums and mailing lists

• CAS, OpenSSO and JOSSO all have well
  managed user groups



                    2007 JavaOneSM Conference | Session TS-4604 |   41
Agenda

What is SSO?
Survey of the main Open Source players
Head-to-Head Comparisons
Summary
Q&A




                2007 JavaOneSM Conference | Session TS-4604 |   42
How to Choose
Which horse for which course …
• There are multiple factors to consider when deciding on the SSO
  solution you need
• All three are Open Source solutions, so licensing issues are removed
• OpenSSO is a good choice if
   •   Using XML based file formats and language independent APIs is important
   •   Clustered environment support is required
   •   SSL mutual authentication is required
   •   You want to leverage all of the features of the Sun Java System Access Manager
• CAS is a good choice if
   •   Your using a Spring based infrastructure with acegi
   •   Your using simple DB based credential management
• JOSSO is a good choice if
   •   It supports your particular application server, otherwise additional development
       effort will be required



                                  2007 JavaOneSM Conference | Session TS-4604 |   43
Alternative Open Source Solutions
Some other horses to consider


• Atlassian Seraph
   • http://opensource.atlassian.com/seraph
• Shibboleth
   • http://shibboleth.internet2.edu
• CoSign
   • http://www.umich.edu/~umweb/software/cosign
• Enterprise Sign-On Engine
   • http://esoeproject.org/


                       2007 JavaOneSM Conference | Session TS-4604 |   44
For More Information
• OpenSSO Home Page
   • https://opensso.dev.java.net/
• JOSSO Home Page
   • http://www.josso.org/
• CAS Home Page
   • http://www.ja-sig.org/products/cas/
• Wikipedia
   • http://en.wikipedia.org/wiki/Single_sign-on
• SAML
   • http://www.oasis-open.org/committees/tc_home.php?
     wg_abbrev=security
• Acegi
   • http://www.acegisecurity.org/


                             2007 JavaOneSM Conference | Session TS-4604 |   45
Agenda

What is SSO?
Survey of the main Open Source players
Head-to-Head Comparisons
Summary
Q&A




                2007 JavaOneSM Conference | Session TS-4604 |   46
Q&A
Craig Dickson – cdickson@behr.com
Naveen Nallannagari – nnallannagari@behr.com




                        2007 JavaOneSM Conference | Session TS-4604 |   47

More Related Content

What's hot (20)

PPT
Jasig Central Authentication Service in Ten Minutes
Andrew Petro
 
PPTX
SSO IN/With Drupal and Identitiy Management
Manish Harsh
 
PDF
Single Sign On - The Basics
Ishan A B Ambanwela
 
PDF
Single sign on (SSO) How does your company apply?
Đỗ Duy Trung
 
PPT
Presentation sso design_security
Marco Morana
 
PPTX
Web Single sign on system
Swati Sinha
 
PPT
SSO Strategy Implementation Considerations
John Bauer
 
PDF
SAP Single Sign-On 2.0 Overview
SAP Technology
 
PPTX
Single sign on - benefits, challenges and case study : iFour consultancy
Devam Shah
 
PDF
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Kenneth Peeples
 
PPTX
Saml vs Oauth : Which one should I use?
Anil Saldanha
 
PDF
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
J V
 
PDF
Java EE Application Security With PicketLink
pigorcraveiro
 
PPTX
Single sign on
guest64ab8e
 
PPTX
Single Sign On 101
Mike Schwartz
 
PPTX
IdP, SAML, OAuth
Dan Brinkmann
 
PPT
Single Sign On - Case Study
Ebizon
 
PPTX
How to deploy SharePoint 2010 to external users?
rlsoft
 
PPT
Security in java ee platform: what is included, what is missing
Masoud Kalali
 
PPTX
SSO introduction
Aidy Tificate
 
Jasig Central Authentication Service in Ten Minutes
Andrew Petro
 
SSO IN/With Drupal and Identitiy Management
Manish Harsh
 
Single Sign On - The Basics
Ishan A B Ambanwela
 
Single sign on (SSO) How does your company apply?
Đỗ Duy Trung
 
Presentation sso design_security
Marco Morana
 
Web Single sign on system
Swati Sinha
 
SSO Strategy Implementation Considerations
John Bauer
 
SAP Single Sign-On 2.0 Overview
SAP Technology
 
Single sign on - benefits, challenges and case study : iFour consultancy
Devam Shah
 
Peeples authentication authorization_services_with_saml_xacml_with_jboss_eap6
Kenneth Peeples
 
Saml vs Oauth : Which one should I use?
Anil Saldanha
 
Alfresco: Implementing secure single sign on (SSO) with OpenSAML
J V
 
Java EE Application Security With PicketLink
pigorcraveiro
 
Single sign on
guest64ab8e
 
Single Sign On 101
Mike Schwartz
 
IdP, SAML, OAuth
Dan Brinkmann
 
Single Sign On - Case Study
Ebizon
 
How to deploy SharePoint 2010 to external users?
rlsoft
 
Security in java ee platform: what is included, what is missing
Masoud Kalali
 
SSO introduction
Aidy Tificate
 

Viewers also liked (9)

PPT
ITIL V3 Overview
Allwyn George
 
PDF
Single Sign-On Best Practices
Salesforce Developers
 
PDF
OpenLDAP - Installation and Configuration
Wildan Maulana
 
PDF
Building an SSO platform in php (Zendcon 2010)
Ivo Jansch
 
PDF
WSO2 Identity Server - Product Overview
WSO2
 
PPTX
Upgrading to cas 4.0 at oakland university
bpowell29a
 
PPTX
WSO2 Product Release Webinar: WSO2 Identity Server 5.2.0
WSO2
 
PDF
Sso walk-through
sureshattanayake
 
PDF
"Esup CAS Packaging" : Deploy and customize easily a CAS4 server
Ludovic A
 
ITIL V3 Overview
Allwyn George
 
Single Sign-On Best Practices
Salesforce Developers
 
OpenLDAP - Installation and Configuration
Wildan Maulana
 
Building an SSO platform in php (Zendcon 2010)
Ivo Jansch
 
WSO2 Identity Server - Product Overview
WSO2
 
Upgrading to cas 4.0 at oakland university
bpowell29a
 
WSO2 Product Release Webinar: WSO2 Identity Server 5.2.0
WSO2
 
Sso walk-through
sureshattanayake
 
"Esup CAS Packaging" : Deploy and customize easily a CAS4 server
Ludovic A
 
Ad

Similar to Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on (20)

PDF
Open Source Identity Integration with OpenSSO
elliando dias
 
PDF
ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
elliando dias
 
PDF
Single Sign On (SSO) Services with Free/Open Source Software
Tonny Adhi Sabastian
 
PDF
OpenSSO Tech Overview Aquarium
Eduardo Pelegri-Llopart
 
PDF
Open sso enterprise customer pitch
xKinAnx
 
PDF
Open sso fisl9.0
Startup Cursos
 
DOCX
Sso & rman
vishaalkumar11
 
PPT
Single sign on and its significance .ppt
DAKSHATAPANCHAL2
 
PDF
A Walk through SSO
WSO2
 
PDF
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
WSO2
 
PDF
Single Sign-on Framework in Tizen
Ryo Jin
 
PPT
OWASPSanAntonio_2006_08_SingleSignOn.ppt
webhostingguy
 
PDF
Geneva Application Security Forum: Vers une authentification plus forte dans ...
Sylvain Maret
 
PDF
2010 - Fédération des identités et OpenID
Cyber Security Alliance
 
KEY
RESTful Security
Jim Siegienski
 
PDF
OpenSSO Roadmap Aquarium
Eduardo Pelegri-Llopart
 
PDF
“Secure Portal” or WebSphere Portal – Security with Everything
Dave Hay
 
PPTX
Gluu and canonical to demonstrate instant application security using ubuntu j...
Gluu
 
PPT
Single sign on assistant an authentication brokers
Finalyear Projects
 
PPTX
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
DataWorks Summit
 
Open Source Identity Integration with OpenSSO
elliando dias
 
ADDRESSING TOMORROW'S SECURITY REQUIREMENTS IN ENTERPRISE APPLICATIONS
elliando dias
 
Single Sign On (SSO) Services with Free/Open Source Software
Tonny Adhi Sabastian
 
OpenSSO Tech Overview Aquarium
Eduardo Pelegri-Llopart
 
Open sso enterprise customer pitch
xKinAnx
 
Open sso fisl9.0
Startup Cursos
 
Sso & rman
vishaalkumar11
 
Single sign on and its significance .ppt
DAKSHATAPANCHAL2
 
A Walk through SSO
WSO2
 
WSO2Con ASIA 2016: Case Study: Identity in the WSO2 Ecosystem
WSO2
 
Single Sign-on Framework in Tizen
Ryo Jin
 
OWASPSanAntonio_2006_08_SingleSignOn.ppt
webhostingguy
 
Geneva Application Security Forum: Vers une authentification plus forte dans ...
Sylvain Maret
 
2010 - Fédération des identités et OpenID
Cyber Security Alliance
 
RESTful Security
Jim Siegienski
 
OpenSSO Roadmap Aquarium
Eduardo Pelegri-Llopart
 
“Secure Portal” or WebSphere Portal – Security with Everything
Dave Hay
 
Gluu and canonical to demonstrate instant application security using ubuntu j...
Gluu
 
Single sign on assistant an authentication brokers
Finalyear Projects
 
Apache Knox Gateway "Single Sign On" expands the reach of the Enterprise Users
DataWorks Summit
 
Ad

More from Craig Dickson (16)

PPTX
Amazon Webservices for Java Developers - UCI Webinar
Craig Dickson
 
PPTX
Dead-Simple Deployment: Headache-Free Java Web Applications in the Cloud
Craig Dickson
 
PPTX
Rapid RESTful Web Applications with Apache Sling and Jackrabbit
Craig Dickson
 
PPTX
Java PaaS Vendor Survey - September 2011
Craig Dickson
 
KEY
JDBC Basics (In 20 Minutes Flat)
Craig Dickson
 
PPT
How to test drive development using Linux
Craig Dickson
 
PPT
Google Wave Introduction
Craig Dickson
 
PPT
Adobe Flex 4 Overview
Craig Dickson
 
PPT
Palm WebOS Overview
Craig Dickson
 
PPT
Java Persistence API (JPA) - A Brief Overview
Craig Dickson
 
PPT
eHarmony in the Cloud
Craig Dickson
 
PPT
Building Social Applications using Zembly
Craig Dickson
 
PPT
Best Practices for Large-Scale Web Sites
Craig Dickson
 
PPT
Cloud Computing Introduction
Craig Dickson
 
PPT
Performance Analysis and Monitoring with Perf4j
Craig Dickson
 
PPT
JavaFX vs AJAX vs Flex
Craig Dickson
 
Amazon Webservices for Java Developers - UCI Webinar
Craig Dickson
 
Dead-Simple Deployment: Headache-Free Java Web Applications in the Cloud
Craig Dickson
 
Rapid RESTful Web Applications with Apache Sling and Jackrabbit
Craig Dickson
 
Java PaaS Vendor Survey - September 2011
Craig Dickson
 
JDBC Basics (In 20 Minutes Flat)
Craig Dickson
 
How to test drive development using Linux
Craig Dickson
 
Google Wave Introduction
Craig Dickson
 
Adobe Flex 4 Overview
Craig Dickson
 
Palm WebOS Overview
Craig Dickson
 
Java Persistence API (JPA) - A Brief Overview
Craig Dickson
 
eHarmony in the Cloud
Craig Dickson
 
Building Social Applications using Zembly
Craig Dickson
 
Best Practices for Large-Scale Web Sites
Craig Dickson
 
Cloud Computing Introduction
Craig Dickson
 
Performance Analysis and Monitoring with Perf4j
Craig Dickson
 
JavaFX vs AJAX vs Flex
Craig Dickson
 

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
July Patch Tuesday
Ivanti
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 

Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on

  • 1. Fast and Free SSO: A Survey of Open-Source Solutions to Single Sign-on Craig Dickson, Software Engineering Manager Naveen Nallannagari, Senior Consultant Behr Process Corporation www.behr.com TS-4604 2007 JavaOneSM Conference | Session TS-4604 |
  • 2. Goals of This Presentation A Survey of Open-Source Solutions to Single Sign-on Present a sample of the different open source based SSO solutions, critically compare and contrast them and provide tips on how to choose the right one to fit your needs. 2007 JavaOneSM Conference | Session TS-4604 | 2
  • 3. Agenda What is SSO? (briefly) Survey of the main Open Source players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 3
  • 4. Agenda What is SSO? Survey of the main Open Source players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 4
  • 5. What is SSO? It is definitely not … “Every Single time you want to do something, you are going to have to Sign-On!” - Your Sys Admin 2007 JavaOneSM Conference | Session TS-4604 | 5
  • 6. What is SSO? This is more like it … • Authenticate only once and access multiple resources • Improved user productivity • Improved developer productivity • Ease of administration 2007 JavaOneSM Conference | Session TS-4604 | 6
  • 7. What is SSO? But what about the downsides … • Potentially creates a single point of attack • Malicious types only need 1 set of credentials and they can do a lot of damage • Can be very difficult to retrofit existing applications and infrastructure with an SSO solution 2007 JavaOneSM Conference | Session TS-4604 | 7
  • 8. Agenda What is SSO? Survey of the main Open Source players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 8
  • 9. OpenSSO Open Web SSO • Mission of OpenSSO: To provide an extensible implementation of identity services infrastructure that will facilitate Single Sign-On for web applications. • From the java.net community • Focused on Web based Single Sign-On • a common starting point for many identity management projects 2007 JavaOneSM Conference | Session TS-4604 | 9
  • 10. OpenSSO Continued … • Sun will make the following Sun Java™ System Access Manager modules freely available as part of OpenSSO: • Authentication • Single-domain SSO • Web and Java 2 Platform, Enterprise Edition (J2EE™ platform) agents • Session Management • Policy • Console • Administration tools • Federation • Policy agents 2007 JavaOneSM Conference | Session TS-4604 | 10
  • 11. OpenSSO OpenSSO Architecture 2007 JavaOneSM Conference | Session TS-4604 | 11
  • 12. OpenSSO OpenSSO Configuration • Open SSO is deployed as only one application • opensso.war • After installation, configuration (name of host, protocol etc) can be done at: http://localhost:8080/opensso/configurator.jsp • Realms have to be created 2007 JavaOneSM Conference | Session TS-4604 | 12
  • 13. OpenSSO OpenSSO Configuration • Installation of Agent (e.g. Tomcat) • agentadmin - install • Modify web.xml <security-constraint> <web-resource-collection> <web-resource-name>Protected Resources</web-resource-name> <url-pattern>/secure/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>id=teste, ou=role, dc=opensso, dc=java, dc=net</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/authentication/login.html</form-login-page> <form-error-page>/authentication/accessdenied.html</form-error-page> </form-login-config> </login-config> <security-roll id="test"> <role-name>id=test, ou=role, dc=opensso, dc=java, dc=net</role-name> </security-role> 2007 JavaOneSM Conference | Session TS-4604 | 13
  • 14. JOSSO Java Open Single Sign-On • Based on Java Authentication and Authorization Service (JAAS) • Uses web services implemented with Apache Axis as the distributed infrastructure • Uses Apache Struts and JavaServer Pages™ technology (JSP™ page) technology standards • Comes with a Reverse Proxy component that can be used to create n-tier Single Sign-On configurations • Allows n-tier configurations using multiple strategies, including storing user information and credentials in LDAP, Databases and XML files 2007 JavaOneSM Conference | Session TS-4604 | 14
  • 15. JOSSO Continued … • Implement and combine multiple authentication schemes with credential stores • Credential Stores are repositories for user credentials, to be used during the user authentication transaction • Can be configure to use (for example) certificate- based authentication scheme, obtaining user X.509 certificates from a database using Java DataBase Connectivity (JDBC™) software 2007 JavaOneSM Conference | Session TS-4604 | 15
  • 16. JOSSO JOSSO Architecture 2007 JavaOneSM Conference | Session TS-4604 | 16
  • 17. JOSSO JOSSO Configuration • Integration of JOSSO with specific application Server (Tomcat or JBoss) • Integrating Java Web Application with JOSSO 2007 JavaOneSM Conference | Session TS-4604 | 17
  • 18. JOSSO JOSSO Configuration - Integration with Tomcat or JBoss • The Single Sign–on Gateway Configuration • Configuration file: josso-gateway-config.xml ● Authenticator ● Identity Manager ● Session Manager ● Audit Manager ● Event Manager • Single Sign On Agent Configuration • To check that a previously user logged in is authorized to access a web context • Configuration file to declare the concrete configuration files: ● $CATALINA_HOME/bin/josso-config.xml 2007 JavaOneSM Conference | Session TS-4604 | 18
  • 19. JOSSO JOSSO Configuration - Integration with Tomcat or JBoss • Protect a Web Application • Add to server.xml file <Host> ... <Valve className="org.josso.tc50.agent.SSOAgentValve" debug="1"/> ... </Host> • For each request to the /partner Web Context, the Single Sign- On Agent will intercept it, assert the Single Sign-On session and obtain the user data from the Single Sign-On Gateway. 2007 JavaOneSM Conference | Session TS-4604 | 19
  • 20. JOSSO JOSSO Configuration - Integration with Tomcat or JBoss • Add a JAAS Realm • In order to integrate the Single Sign-On Agent with the Single Sign-On Gateway a JAAS Tomcat Realm entry must be added to the server.xml. • Configure a JAAS Login Module • jaas.conf file in the $CATALINA_HOME/conf directory with the following content: josso { org.josso.tc50.agent.jaas.SSOGatewayLoginModule required debug=true; }; • The Login Module validates the session and obtains the corresponding user and role information by invoking the gateway identity management webservices. 2007 JavaOneSM Conference | Session TS-4604 | 20
  • 21. JOSSO JOSSO Configuration - Integration with Tomcat or JBoss • Configure the Agent <?xml version="1.0" encoding="ISO-8859-1" ?> <agent> <class>org.josso.tc50.agent.CatalinaSSOAgent</class> <gatewayLoginUrl>http://localhost:8080/josso/signon/login.do</gatewayLo ginUrl> <gatewayLogoutUrl>http://localhost:8080/josso/signon/logout.do</gateway LogoutUrl> <sessionAccessMinInterval>1000</sessionAccessMinInterval> <service-locator> <class>org.josso.gateway.WebserviceGatewayServiceLocator</class> <endpoint>localhost:8080</endpoint> </service-locator> <partner-apps> <partner-app> <context>/partner</context> </partner-app> </partner-apps> </agent> 2007 JavaOneSM Conference | Session TS-4604 | 21
  • 22. JOSSO JOSSO Configuration – Integration Java application with JOSSO • Web application Security Constraints • Configured using three elements in web.xml • <login-config> element • <security-constraint> element • <security-role> element 2007 JavaOneSM Conference | Session TS-4604 | 22
  • 23. JOSSO JOSSO Configuration – Integration Java application with JOSSO • Integrating Enterprise JavaBeans™ (EJB™) with JOSSO • The security constraints should be declared in the ejb-jar.xml file of the partner components based on the Enterprise JavaBeans specification (EJB components) • For the user identity to be propagated to the EJB components tier, the jboss.xml file must set java:/jaas/josso as the security domain in the following way: <?xml version="1.0" encoding="UTF-8"?> <jboss> <security-domain>java:/jaas/josso</security-domain> <enterprise-beans> <session> <ejb-name>PartnerComponentEJB</ejb-name> <jndi-name>josso/samples/PartnerComponentEJB</jndi-name> </session> </enterprise-beans> </jboss> 2007 JavaOneSM Conference | Session TS-4604 | 23
  • 24. JA-SIG CAS Central Authentication Service • An open and well-documented protocol • A library of clients for Java technology, .NET, PHP, Perl, Apache, uPortal and others • Integrates with uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle and others • Community documentation and implementation support • An extensive community of adopters 2007 JavaOneSM Conference | Session TS-4604 | 24
  • 25. JA-SIG CAS Continued … • The players involved • CAS (The Central Authentication Service) • Service • Proxy • Target (or back-end service) • CAS authentication make use of tickets, or opaque strings that prove some assertion to CAS. • CAS 2.0 uses the following tickets • Ticket-granting cookie (TGC) • Service ticket (ST) • Proxy-granting ticket (PGT) • Proxy-granting ticket IOU (PGTIOU) • Proxy ticket (PT) 2007 JavaOneSM Conference | Session TS-4604 | 25
  • 26. JA-SIG CAS CAS Architecture 2007 JavaOneSM Conference | Session TS-4604 | 26
  • 27. JA-SIG CAS CAS Configuration • Server Deployment • Client Configuration 2007 JavaOneSM Conference | Session TS-4604 | 27
  • 28. JA-SIG CAS CAS Configuration- Server Deployment • Based on authentication scheme used • password based • certificate based • Need to implement Authentication Handler interface 2007 JavaOneSM Conference | Session TS-4604 | 28
  • 29. JA-SIG CAS CAS Configuration- Server Deployment • Example : Password based public class UsernameLengthAuthnHandler implements AuthenticationHandler { public boolean authenticate(Credentials credentials) throws AuthenticationException { UsernamePasswordCredentials upCredentials = (UsernamePasswordCredentials) credentials; String username = upCredentials.getUsername(); String password = upCredentials.getPassword(); String correctPassword = Integer.toString(username.length()); return correctPassword.equals(password); } public boolean supports(Credentials credentials) { // we support credentials that bear usernames and passwords return credentials instanceof UsernamePasswordCredentials; } } 2007 JavaOneSM Conference | Session TS-4604 | 29
  • 30. JA-SIG CAS CAS Configuration- Server Deployment • Customizing views • The existing views can be changed (i.e. JSP pages to match the look and feel of the applications) • Using LDAP for authentication • Install the CAS LDAP authentication handler .jar file - cas-server-ldap-{SOMETHING}.jar • Include an LDAP library ("LdapTemplate" or "Spring LDAP") intoCAS server 2007 JavaOneSM Conference | Session TS-4604 | 30
  • 31. JA-SIG CAS CAS Configuration- Server Deployment • Using X.509Certificates • CAS provides customizations to the CAS webflow to retrieve certificates from the HttpServletRequest, package the certificates into Credentials CAS can understand and pass them into the CentralAuthenticationService service. • Provides an authentication handler to determine the validity of a certificate and if the credentials are authentic or not. • Provides sample resolvers to translate the credentials into a principal that client applications will understand. 2007 JavaOneSM Conference | Session TS-4604 | 31
  • 32. JA-SIG CAS CAS Configuration- Client • Various Clients • Java technology client • JSP software client • Uportal client • Acegi as CAS client • Perl, ASP.NET client etc. 2007 JavaOneSM Conference | Session TS-4604 | 32
  • 33. JA-SIG CAS CAS Configuration- Client • Java technology Client Configuration • CASFilter configuration - Example <web-app> ... <filter> <filter-name>CAS Filter</filter-name> <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name> <param-value>https://secure.its.yale.edu/cas/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <param-value>https://secure.its.yale.edu/cas/serviceValidate</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <param-value>your server name and port (e.g., www.yale.edu:8080)</param- value> </init-param> </filter> <filter-mapping> <filter-name>CAS Filter</filter-name> <url-pattern>/requires-cas-authetication/*</url-pattern> </filter-mapping> ... </web-app> 2007 JavaOneSM Conference | Session TS-4604 | 33
  • 34. Agenda What is SSO? Survey of the main Open Source players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 34
  • 35. Head-to-Head Comparison Retrofitting an existing application • JOSSO • No support for certain application servers • Does provide a plugin infrastructure to facilitate integration with other containers; you can base your own plugin on existing samples • OpenSSO • can fit into a multitude of application servers because of the availability of agents • These agents include Apache, Sun Java System Web Server, Microsoft IIS, Domino 2007 JavaOneSM Conference | Session TS-4604 | 35
  • 36. Head-to-Head Comparison Integration of non-Java applications • JOSSO • Uses web services for asserting user identity via SOAP • Allows the integration of non-Java applications (e.g. PHP, .NET etc.) • CAS • There are many client libraries to assist in “CASifying” applications • Examples include AuthCAS for Apache, a uPortal client, a Java technology Client, a PHP client and a Perl client 2007 JavaOneSM Conference | Session TS-4604 | 36
  • 37. Head-to-Head Comparison Customizability • JOSSO • If your application server is not supported, need to customize by writing plugins • CAS • Basic implementation includes only HTTPS • Can be easily customized to be HTTP enabled • Look and feel of login pages can be changed • Comes with pluggable authenticators to validate against LDAP etc. • OpenSSO • Customizations can be done by writing Authentication modules • Authentication User Interface JSP pages can be customized by Realm, Locale, Client type or any Service of the SSO system 2007 JavaOneSM Conference | Session TS-4604 | 37
  • 38. Head-to-Head Comparison Ease of Deployment • CAS • Involves deploying CAS Server (downloadable as a pre-built WAR file or can be customized) and a CAS client with each application • JOSSO • Involves Configuration of: ● Single Sign-On Gateway ● the Authenticator ● the Identity Manager ● the Session Manager • OpenSSO • Deployable as a WAR file 2007 JavaOneSM Conference | Session TS-4604 | 38
  • 39. Head-to-Head Comparison Authentication for non-browser-based clients • CAS • Has Proxy Authentication support • OpenSSO • Does not have out-of-the-box support for CAS-like proxy authentication, however there are authentication APIs available to build one • JOSSO • Comes with a Reverse Proxy component that can be used to create n-tier Single Sign-On configurations 2007 JavaOneSM Conference | Session TS-4604 | 39
  • 40. Head-to-Head Comparison Support for web service security • JASSO • Can be used to secure web services but is limited due to the level of application server support • CAS • Supports web service security by protecting URLs • OpenSSO • Has started work related to web services security 2007 JavaOneSM Conference | Session TS-4604 | 40
  • 41. Head-to-Head Comparison Community support • As all three are Open Source solutions, the support is in the form of project websites, community generated documentation, user forums and mailing lists • CAS, OpenSSO and JOSSO all have well managed user groups 2007 JavaOneSM Conference | Session TS-4604 | 41
  • 42. Agenda What is SSO? Survey of the main Open Source players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 42
  • 43. How to Choose Which horse for which course … • There are multiple factors to consider when deciding on the SSO solution you need • All three are Open Source solutions, so licensing issues are removed • OpenSSO is a good choice if • Using XML based file formats and language independent APIs is important • Clustered environment support is required • SSL mutual authentication is required • You want to leverage all of the features of the Sun Java System Access Manager • CAS is a good choice if • Your using a Spring based infrastructure with acegi • Your using simple DB based credential management • JOSSO is a good choice if • It supports your particular application server, otherwise additional development effort will be required 2007 JavaOneSM Conference | Session TS-4604 | 43
  • 44. Alternative Open Source Solutions Some other horses to consider • Atlassian Seraph • http://opensource.atlassian.com/seraph • Shibboleth • http://shibboleth.internet2.edu • CoSign • http://www.umich.edu/~umweb/software/cosign • Enterprise Sign-On Engine • http://esoeproject.org/ 2007 JavaOneSM Conference | Session TS-4604 | 44
  • 45. For More Information • OpenSSO Home Page • https://opensso.dev.java.net/ • JOSSO Home Page • http://www.josso.org/ • CAS Home Page • http://www.ja-sig.org/products/cas/ • Wikipedia • http://en.wikipedia.org/wiki/Single_sign-on • SAML • http://www.oasis-open.org/committees/tc_home.php? wg_abbrev=security • Acegi • http://www.acegisecurity.org/ 2007 JavaOneSM Conference | Session TS-4604 | 45
  • 46. Agenda What is SSO? Survey of the main Open Source players Head-to-Head Comparisons Summary Q&A 2007 JavaOneSM Conference | Session TS-4604 | 46
  • 47. Q&A Craig Dickson – [email protected] Naveen Nallannagari – [email protected] 2007 JavaOneSM Conference | Session TS-4604 | 47