This video course will help you secure your web application with the use of highly practical examples. You will also learn how to implement security checks, thus enabling you to create a staunch authentication mechanism that will prevent spoofing. Integrate with LDAP and progress on to more advanced security techniques such as Remember Me or the powerful ACL mechanism.
These pragmatic videos will help you learn how to implement various techniques for securing your web application through the use of simple to advanced use cases that follow the development of a web application using practical, step-by-step examples.
Each video section shows different ways to empower Spring Security for the web. The authentication techniques comprising of login, registration, and logout are implemented in this course. Moreover, the Remember Me functionality is added to the web app in addition to integration with a production-ready LDAP server. Further on, the authorization method is used and discussed in detail with simple roles, before moving on to the more flexible Spring expressions and finally the extremely powerful Access Control Lists mechanism, which allow security rules per object.
Ultimately, this video course is meant to help you hit the ground running with proper security for your web applications. The primary goal of the course is to be efficient, utilitarian, and immediately applicable for a web application.About the Author Eugen Paraschiv is a Senior Software Engineer living in Bucharest, Romania, and has more than six years of experience developing and securing a wide range of web applications and systems. His current work is focused on security, REST, and machine learning. He has hands-on experience with Spring Security on several large systems and with a variety of security standards (SSO/CAS, LDAP, UAA, OAuth, and so on).
Introduction of the full course showing how to best work with the materials and the application, where to find references for each section, and how to work with the Spring configuration.
Enable Spring Security in the web application. Add the maven dependencies, enable security in webxml, and show the application working and now protected by a login process.
Migrate from an auto generated login form to a custom form, and show how to implement a basic but a functional logout process directing the user back to the login page.
Secure an entire URL tree with some custom authorities, define these authorities for some of the predefined users, and show how the operation can now be performed by these users.
Set up security expressions in the configuration, secure the pages with these expressions, and form better expressions by combining primitive expressions with operators.
Add and configure support for security expressions in the JSP page, secure part of an example page, and learn how different users see the page differently based on their authorities.
Introduce the registration mechanism, and show how it integrates into Spring Security and works on the frontend.
Show how to move the registration process from the in-memory provider to a new JDBC-backed provider and discuss how this will affect the newly registered users survive a server restart.
Show how to replace the old JDBC provider with a production-ready mechanism using JPA and Spring Data—both authentication and registration. Implement the custom logic for user retrieval and registration of new users.
Discuss and set up the token-based Remember Me mechanism—how it helps the user stay logged in even after the session expires.
Go into detail about the Remember Me cookie and additional configuration options available in Spring Security for the mechanism; discuss how security is improved and why.
Show how to set up and replace the previous token mechanism with a more secure Remember Me mechanism based on persistence; discuss how the mechanism works and why it's more secure.
Leverage an advanced Spring Security expression, isFullyAuthenticated, to secure more sensitive pages in the web application—these should still require full authentication credentials before allowing access.
Discuss and show how to introduce LDAP as a security provider; and show how to have a setup process adding the core-required authentication data so that users can log in.
Illustrate how we can add the authorization data in LDAP—the custom LDAP structure, and the mapping and interaction between Spring Security and the embedded LDAP Server for authorization.
Finally, move to a production-like usecase, a full-fledged LDAP Server, set up externally and holding all the authentication and authorization data with no anonymous access. Show how to integrate Spring Security with this server and perform both authentication and authorization.
Introduce security expressions and show how to configure the security of a URL path in the Spring Security XML configuration; show an advanced example of using such expressions.
Introduce the concept of in-page authorization and conditionally show page elements based on security expressions.
Introduce the REST Service implemented with Spring MVC, JPA, and Spring Data; show how a setup process should be implemented and persist new users and new authorities during this process.
Show how to set up and configure the Basic Authentication a mechanism within the Spring Security namespace configuration; write live integration tests against the deployed API to verify both the forbidden and valid accesses.
Finally, move the REST Service to the Digest authentication mechanism; show how to set this up with Spring Security, show the advanced usage of the namespace support, and write the live integration tests against the live API to verify its correctness.
Introduce the concepts of Access Control Lists, why ACL is necessary for nontrivial scenarios, how it differs from the standard authorization, and what kind of support Spring Security has for ACL.
Focus on the complex database structure required to set up the ACL in a project; discuss the exact relations between tables and how Spring is going to use these to map its ACL artifacts.
Enable and configure ACL for the security configuration of the project—use ACL expressions to secure parts of the API and illustrate how this works in practice in the sample application.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.