Presentation is loading. Please wait.

Presentation is loading. Please wait.

CAS 3 Introduction and Overview. CAS2 is simple to understand 6 servlets and fewer than 10 JSPs 6 servlets and fewer than 10 JSPs auth package – where.

Similar presentations


Presentation on theme: "CAS 3 Introduction and Overview. CAS2 is simple to understand 6 servlets and fewer than 10 JSPs 6 servlets and fewer than 10 JSPs auth package – where."— Presentation transcript:

1 CAS 3 Introduction and Overview

2 CAS2 is simple to understand 6 servlets and fewer than 10 JSPs 6 servlets and fewer than 10 JSPs auth package – where to plug in your authentication provider auth package – where to plug in your authentication provider ticket package approximates model ticket package approximates model 2 tiny utility classes 2 tiny utility classes Exactly one external dependency: servlet.jar Exactly one external dependency: servlet.jar

3 CAS 2 is Popular and successful Answers current needs very adequately Answers current needs very adequately Many authentication providers Many authentication providers Successfully extended Successfully extended Helpful user community – (ESUP Portail) Helpful user community – (ESUP Portail) Adopted by Acegi for Spring, mentioned in many technical references. Adopted by Acegi for Spring, mentioned in many technical references.

4 CAS 2 was straining at the seams Code was interwoven inside servlets Code was interwoven inside servlets Domain model not clear in code structure Domain model not clear in code structure Extensions require modification of code – not good practice for core security product Extensions require modification of code – not good practice for core security product

5 New Requirements Non-interactive authentication Non-interactive authentication Windows domain login Windows domain login Client certificates Client certificates Integration with Shibboleth for cross domain authentication Integration with Shibboleth for cross domain authentication

6 Join with Rutgers Team to develop CAS3 Architecture Domain Driven Design Domain Driven Design Interfaces at Strategic architectural layers Interfaces at Strategic architectural layers Standard MVC layer separation Standard MVC layer separation “Don’t call us we’ll call you” “Don’t call us we’ll call you” Loosely coupled components Loosely coupled components Declarative configuration for extending Declarative configuration for extending Dependency Injection Dependency Injection

7 Objectives for CAS 3.0 Definition of Domain Model Definition of Domain Model Adopters can evaluate and understand function from architectural perspective Adopters can evaluate and understand function from architectural perspective Specification Specification Retroactively created for CAS 2 Retroactively created for CAS 2 Modern Architecture Modern Architecture Loosely coupled components Loosely coupled components Dependency Injection (IoC) Dependency Injection (IoC) Well defined extension points Well defined extension points Incorporation of forward looking software engineering environment: Spring, Maven, JUnit, AOP Incorporation of forward looking software engineering environment: Spring, Maven, JUnit, AOP CAS 2 compliant CAS 2 compliant

8 Finding The Saddle Point Software engineering Infrastructure Software engineering Infrastructure May require relatively high Java skills and high benefit for future development May require relatively high Java skills and high benefit for future development Deployment Environment Deployment Environment Clarity of the architectural model Clarity of the architectural model Ease of integrating extensions Ease of integrating extensions Ease of upgrading and applying patches Ease of upgrading and applying patches

9 From 50,000 Feet Web Web controllers for authentication and validation controllers for authentication and validation Views for customizing CAS look Views for customizing CAS look Cas – Cas – CentralAuthenticationService Interface CentralAuthenticationService Interface With Methods to Create, Grant, Validate, Destroy tickets With Methods to Create, Grant, Validate, Destroy tickets Authentication Authentication authenticate credentials via AuthenticationHandler interface authenticate credentials via AuthenticationHandler interface Creates and populates principals (authenticated “things”) Creates and populates principals (authenticated “things”) Validation Validation perform and respond to validation requests perform and respond to validation requests Ticket Ticket represent and manipulate tickets represent and manipulate tickets

10 org.jasig.cas.web.flow LoginFormAction Org.jasig.cas.ticket Ticket org.jasig.cas.authentication AuthenticationManager org.jasig.cas.web ServiceValidateController org.jasig.cas.validation ValidationSpecification Assertion Primary Package Interaction org.jasig.cas CentralAuthenticationService

11 Other Extension Points org.jasig.cas.services org.jasig.cas.services Includes a registry to allow for the generation of approved lists of services Includes a registry to allow for the generation of approved lists of services org.jasig.cas.event org.jasig.cas.event record or take action in response to events record or take action in response to events TicketEvent triggered by the creation, validation, destruction of a Ticket TicketEvent triggered by the creation, validation, destruction of a Ticket AuthenticationEvent lets listeners know about authentication requests and whether they were successful or not. AuthenticationEvent lets listeners know about authentication requests and whether they were successful or not. org.jasig.cas.stat org.jasig.cas.stat expose various statistics about CAS expose various statistics about CAS


Download ppt "CAS 3 Introduction and Overview. CAS2 is simple to understand 6 servlets and fewer than 10 JSPs 6 servlets and fewer than 10 JSPs auth package – where."

Similar presentations


Ads by Google