Spring Security Training
Duration: 4 Days
About Spring Security Training Course
This in-depth course introduces the Java web developer to the Spring Security Training framework. We start with an overview and practical exercises in basic usage: XML configuration for authentication and URL-based authorization. Then we start to dig into Spring Security training as a Java model, and develop advanced techniques including custom user realms, custom authorization constraints, method-based authorization, and instance-based authorization.
We then explore two increasingly popular extensions to Spring Security. We consider the Security Assertions Markup Language, or SAML, and the wide range of identity and security features it offers — but quickly focus on it’s support for single sign-on (SSO), and learn how the Spring Security SAML Extension enables applications to interact with SAML identity providers to implement SSO and single logout. And we look at OAuth for Spring Security, which enables third-party authorization scenarios, and learn how to implement both the server and client sides of the OAuth 2.0 flow.
After completing this training, students should be able to:
- 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.
- Express user identity in terms of SAML <Subject>s.
- Implement SAML SSO from the service-provider side.
- Implement OAuth 2.0 authorization-server and resource-server roles.
- Implement an OAuth 2.0 client.
- Acquiring and Integrating Spring Security
- Relationship to Spring
- Relationship to Java EE Standards
- Basic Configuration
- How It Works
- Integration: LDAP, CAS, X.509, OpenID, etc.
- Integration: JAAS
- The <http> Configuration
- The <intercept-url> Constraint
- The <form-login> Configuration
- Login Form Design
- “Remember Me”
- Anonymous “Authentication”
- The JDBC Authentication Provider
- The Authentication/Authorization Schema
- Using Hashed Passwords
- Why Hashing Isn’t Enough
- Using Salts
- PasswordEncoder and SaltSource
- Key Lengthening
- Channel Security
- Session Management
- 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
- FilterSecurityInterceptor and Friends
- The AccessDecisionManager
- Configuration Attributes
- Access-Decision Strategies
- Implementing AccessDecisionVoter
- The Role Prefix
Method and Instance Authorization
- Method Authorization
- Using Spring AOP
- XML vs. Annotations
- @PreAuthorize and @PostAuthorize
- Spring EL for Authorization
- @PreFilter and @PostFilter
- Domain-Object Authorization
- The ACL Schema
- Interface Model
- ACL-Based Presentation
Introduction to SAML
- History of SAML
- Using OpenSAML
SAML Assertions and Protocol
- “Vouching for” a User
- Assertions and Subjects
- NameID Types
- Authentication Contexts
- Requests, Queries, and Responses
- Attribute Queries
- SAML and XML Signature
- Speaking “Through” the Browser
- The SOAP Binding
- SAML Over HTTP
- The Redirect, POST, and Artifact Bindings
- The PAOS Binding
- The URI Binding
Federated Identity and SSO
- SAML 2.0 Federations
- Single Sign-On
- Account Linking and Persistent Pseudonyms
- Transient Pseudonyms
- Name ID Mapping
- Single Logout
- Federation Termination
The Spring Security SAML Extension
- Combining SSO and Other Authentication Styles
- Configuring an SP
- Configuring OpenAM
- Login and Logout Handlers
- IdP Discovery
- The SSO Processing Filters
- The SAML Filter Chain
- The SAML Entry Point
- The Spring Security SAML Extension
- Authorization and Attributes
OAuth for Spring Security
- Third-Party Authorization
- Roles and Initial Flow
- Grant Types
- Access Tokens
- The Google OAuth API
- OAuth for Spring Security
- Client-Details Services
- Token Services
- The AuthorizationEndpoint
- The TokenEndpoint
- The UserApprovalHandler
- The Resource-Server Filter
- The ScopeVoter
- The OAuth-Aware RestTemplate
- The OAuth Redirecting Filter
After completing the course successfully you will be able to download and save the Participation certificate or print it.
Experience in the following is required for this Spring class:
- Java programming
- Experience with the Spring framework
- Basic knowledge of XML
- Some servlets and/or JSP experience will be beneficial for purposes of understanding the impact of each security feature that we configure. There is no web-application coding involved in the Spring Security Training course.
How do I enroll for the classroom training ?
You can enroll for this classroom training online. Payments can be made using any of the following options and receipt of the same will be issued to the candidate automatically via email.
1. Online or By deposit the mildaintrainings bank account
2. Pay by cash team training center location
Who are the trainers for the classroom training?
Highly qualified and certified instructors with 20+ years of experience deliver more than 200+ classroom training.
Where will the training be held?
Venue is finalized few weeks before the training and you will be informed via email. You can get in touch with our 24/7 support team for more details. Contact us Mob no:- 8447121833, Mail id: [email protected] . If you are looking for an instant support, you can chat with us too.
Do you provide transportation and refreshments along with the training?
We provide transportation or refreshments along with the training.
I’d like to learn more about this training program. Who should I contact?
Contact us using the form on the right of any page on the mildaintrainings website, or select the Live Chat link. Our customer service representatives will be able to give you more details.
Noida Head Office:
Plot No 17
C Block Market
Plot No 7 & 8
Krishna Reddy Layout
Ganesh GHR MSY
Plaza Vittal Rao
5th Floor Block B
Godrej IT Park