Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Spring Security
Version 3.2

For version 2.0 Please click here
Java Training Overview

This in-depth course introduces the Java web developer to the Spring Security 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 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.

Note that the course does not give much background on general web-application security -- pros and cons of HTTP BASIC, DIGEST, and form-based authentication strategies, cross-site scripting, injection, CSRF, etc. Course "Securing Java Web Applications," makes a nice compliment to this course, and custom hybrids of the two courses are available.

Java Training Prerequisites
  • Java programming course is excellent preparation.
  • 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 course.
Java Training Learning Objectives

After completing this course, the student 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.
Java Training Course duration

4 Days

Java Training Course outline

Chapter 1. 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, OpenID, etc.
  • Integration: JAAS
Chapter 2. 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
  • Why Hashing Isn't Enough
  • Using Salts
  • PasswordEncoder and SaltSource
  • Key Lengthening
  • Channel Security
  • Session Management
Chapter 3. URL Authorization
  • URL Authorization
  • Programmatic Authorization: Servlets
  • Programmatic Authorization: Spring Security
  • Role-Based Presentation
  • The Spring Security Tag Library
Chapter 4. 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
Chapter 5. Under the Hood: Authorization
  • Authorization
  • FilterSecurityInterceptor and Friends
  • The AccessDecisionManager
  • Voting
  • Configuration Attributes
  • Access-Decision Strategies
  • Implementing AccessDecisionVoter
  • The Role Prefix
Chapter 6. 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
Chapter 7. Introduction to SAML
  • History of SAML
  • Assertions
  • Protocol
  • Bindings
  • Profiles
  • Using OpenSAML
Chapter 8. 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
Chapter 9. SAML Bindings
  • Speaking "Through" the Browser
  • The SOAP Binding
  • SAML Over HTTP
  • The Redirect, POST, and Artifact Bindings
  • The PAOS Binding
  • The URI Binding
Chapter 10. 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
Chapter 11. The Spring Security SAML Extension
  • The Spring Security SAML Extension
  • The SAML Entry Point
  • The SAML Filter Chain
  • The SSO Processing Filters
  • IdP Discovery
  • Login and Logout Handlers
  • Configuring OpenAM
  • Configuring an SP
  • Customization
  • Combining SSO and Other Authentication Styles
  • Authorization and Attributes
Chapter 12. OAuth for Spring Security
  • Third-Party Authorization
  • OAuth
  • 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
  • AccessTokenProviders
  • The OAuth Redirecting Filter
System Requirements

Minimum Hardware Requirements
  • Dual-core 1.8 GHz, 4 gig RAM, 2 gig disk space.
Minimum Software Requirements

  • All free downloadable tools.
Hardware – recommended
  • Dual-core 2.8 GHz, 8 gig RAM, 2 gig disk space
Network and Security
  • Limited privileges required
Operating system
  • Tested on Windows 7/8, Mac OS 10.8.5. Course software should be viable on all systems which support a Java SE 7 Developer's Kit.


Please contact your training representative for more details on having this course delivered onsite or online

Training Outlines - the one stop shopping center for IT training.
© Training Outlines All rights reserved