
This video provides an overview of the entire course.
In this video, we will learn to create Spring boot app
Look at the dependencies needed
Define App Runner
Understand @SpringBootApplication
In this video, we will be learning about how to add support of spring-security
AddSecurity Support for Application
Understand @EnableWebSecurity
Extend WebSecurityConfigurerAdapter
In this video, we will look at Configuring Spring Security for rest endpoints
Create /time endpoint
Create /secretTime endpoint
Secure public endpoint
In this video, we will look at Configuring Spring Security for static resources
Expose static files
Add security rules for static files
In this video, we will create a MVC flow for our application.
Create an MVC application
Define views
Expose views as the MVC controller
In this video, we will integrate our application with MVC flow.
Integrate web security with MVC flow
Configure WebSecurityConfig for MVC
In this video, we will test our application.
Define mock UserDetailsService
Define a simple user/password
Test our logic with MVC
In this video, we will create a CustomAuthenticationProvider.
Create the custom authentication mechanism
Define the CustomAuthenticationProvider
Define a 3rd party authentication client
In this video, we will configure Spring to use custom authentication mechanism.
Plug the CustomAuthenticationProvider to Spring security flow
Test our custom authentication logic
In this video, we will learn Oauth 2 explanation
Understanding how OAuth 2 is working
What parameters OAuth 2 client needs to have configured
Create a notifications bounded context
In this video, we will learn to configure OAuth2 with Spring
Creating application.yml with OAuth 2 Config
Using Facebook as token provider
Understanding all parameters
In this video, we will explore OAuth 2 Spring application workflow
Configuring WebSecurityConfigurerAdapter to use OAuth2 provider
Injecting AuthorizationCodeResourceDetails and ResourceServerProperties
Creating facebookOauth2Filter that performs issuing tokens
In this video, we will be testing application secured by OAuth 2
Solving the problem of communication between Bounded Contexts
Creating login html form that uses OAuth 2 auth provider
Testing token issuing
In this video, we will learn about difference between Authentication and Authorization
What an Authentication is?
What an Authorization is?
What a Role is?
In this video, we will define access roles in our application
Creating Authorization provider with roles
Adding USER role
Adding ADMIN role
In this video, we will guard access with Annotations for reactive API
Creating Reactive Rest Controller
Creating endpoint available only for ADMIN role
Guarding access to users with role using Annotation
In this video, we will guard access programmatically for servlet API
Creating Reactive GET ALL Controller
Using servlet API HttpServletRequest
Guarding access to users with role using Servlet API
In this video, we will perform testing of the logic
Testing USER role
Testing ADMIN role
In this video, we will explore CORS and how to prevent it
What a CORS is?
How to enable/disable it?
Configuring in Spring Security
In this video, we will learn CSRF and how to prevent it
What a CSRF token is?
How to configure spring security to use CSRF
In this video, we learn to implement custom CSRF token repository
Testing using Spring Security Mock Test
Examining behaviour with CSRF enabled
Examining behaviour without CSRF enabled
In this video, we will learn to test our application to assert that is secure
Testing CORS application from client
Using JS call that connects to CORS protected application
Securing your application from hackers is the most high-pressure concerns for developers. In this course, you’ll learn how to protect your Java application from malicious attacks and users with the Spring Security framework.
You’ll integrate Spring Security into your application using the Spring frameworks through practical, hands-on examples. You’ll see how to secure your web application, integrate authentication and authorization mechanisms, and restrict access to your application. You’ll discover how to integrate it with popular frameworks such as Spring Web MVC, Spring-Boot, Spring-Data, Servlet API injection, and more.
We’ll cover the security challenges with Reactive web apps built for the cloud, RESTful web services, and microservice architectures with the Spring framework. You’ll also implement techniques for protection against attacks such as session fixation, clickjacking, cross-site request forgery, and more.
By the end of the course, you’ll understand common security vulnerabilities and be able to prevent them with Spring Security, with an empirical approach to securing your web applications.
About the Author
Tomasz Lelek is a Software Engineer who programs mostly in Java and Scala. He has worked with Spring Applications and Microservices for the past 5 years. He is passionate about nearly everything associated with software development and believes we should always try to consider different solutions and approaches before solving a problem.
Recently, he was a speaker at conferences in Poland: Confitura and JDD (Java Developers Day), and at Krakow’s Scala User Group. He has also conducted a live coding session at Geecon Conference. He is a co-founder of initlearn, an e-learning platform that was built with the Spring Framework and Java Language. He has also written articles about everything related to the Java and Spring world