This fast-paced 2 day class introduces the Java web developer to the Spring Security framework. The first half of the course gives an overview and quickly moves into practical exercises in basic usage: XML configuration for authentication and URL-based authorization. Then we start to dig into Spring Security as a Java model, and develop advanced techniques including custom user realms, custom authorization constraints, method-based authorization, and instance-based authorization.
By the end of the course students will be able to use Spring security to implement authentication and role-based authorization policies for their own Java web applications (whether or not those applications use Spring themselves), and customize the behavior of Spring Security to their requirements.
Goals
- Configure Spring Security for HTTP BASIC authentication.
- Implement form-based authentication.
- Configure other authentication features including remember-me, anonymous users, and logout.
- Apply authorization constraints to URLs and URL patterns.
- Bind authorization roles to user accounts in relational databases.
- Plug application-specific user realms into Spring Security by implementing UserDetailsService.
- Implement application-specific authorization constraints as AccessDecisionVoters.
- Fix authorization constraints over individual methods of service beans, in lieu of URL authorization or in tandem with it.
Outline
- The Spring Framework
- Overview of Spring
- The Core Module
- Inversion of Control
- XML and Java Views of the Container
- Configuring JavaBeans
- Dependency Injection
- Web Application Contexts
- Spring Security
- Acquiring and Integrating Spring Security
- Relationship to Spring
- Relationship to Java EE Standards
- Basic Configuration
- How It Works
- Integration: LDAP, CAS, X.509, OpeID, etc.
- Integration: JAAS
- Authentication
- The <http> Configuration
- The <intercept-url> Constraint
- The <form-login> Configuration
- Login Form Design
- “Remember Me”
- Anonymous “Authentication”
- Logout
- The JDBC Authentication Provider
- The Authentication/Authorization Schema
- Using Hashed Passwords
- Channel Security
- Session Management
- URL Authorization
- URL Authorization
- Programmatic Authorization: Servlets
- Programmatic Authorization: Spring Security
- Role-Based Presentation
- The Spring Security Tag Library
- Under the Hood: Authentication
- The Spring Security API
- The Filter Chain
- Authentication Manager and Providers
- The Security Context
- Plug-In Points
- Implementing UserDetailsService
- Connecting User Details to the Domain Model
- Under the Hood: Authorization
- Authorization
- FilterSecurityInterceptor and Friends
- The AccessDecisionManager
- Voting
- Configuration Attributes
- Access-Decision Strategies
- Implementing AccessDecisionVoter
- The Role Prefix
- Method and Instance Authorization
- Method Authorization
- Using Spring AOP
- XML vs. Annotations
- Domain-Object Authorization
- The ACL Schema
- Interface Model
- ACL-Based Presentation
To Hire an AMS Java Spring Subject Matter Expert and Instructor who also teaches this class, call us today at 800-798-3901!