
Examine authentication with password validation rules, eight chars, at least one digit and one special character, no spaces, and no common sequences, plus admin-led user management and email-delivered encrypted credentials.
Set up development environments for a professional web authentication project by installing Windows, Macintosh, and Linux tools, the Java Development Kit, Angular, npm, Visual Studio, and Oracle database.
Create your first Spring Boot project with password validation, using Java 15 and Spring Boot 2.4.1, add Lombok and database support, and integrate an Angular front end.
Create the user account table in the database schema, define the table class with fields like user id, user name, email, password, authorities, and rules, and implement constructors.
Create a user table with fields like user id, first name, last name, username, email, password, and role, and auto-generate getters and setters using data Lombok.
Understand how the hypertext transfer protocol enables clients to send requests to servers and receive responses over tcp/ip, using urls, hosts, and status codes like 200 and 404.
Create an http response protocol class with a response field, time format with timezone, and constructors, supporting common status codes like 200, 400, 404, 500, 502, 504, and 505.
Create a user granted authority class and implement the user details integration to manage authorities in a secure web registration with password validation.
Add Spring Security to the project to enable authentication and access control, install startup security dependencies, run the app, and test login with a username and password.
Set up a RestController and map requests with @RequestMapping and @GetMapping to manage a user endpoint, display text in the browser, and test paths like /user and /user/home on localhost.
Learn how json web token (jwt) enables secure login between the browser and server, with header, payload, and signature, expiry rules, and role-based permissions in a java/angular stack.
Create a JWT token using GWG, configure Java JWT dependencies, and build a GWG provider to generate a token from user data and permissions with three-day expiration and 512 encryption.
Implement a JWT authentication filter to validate tokens and enforce authorization in the web app, wiring a provider, handling doFilter, and parsing the Authorization header.
Implement jwt authentication by building a dedicated authentication class, handling requests and responses, and enforcing login to access protected pages using 403 forbidden responses.
Implement an access control filter that returns an http 401 unauthorized with an access denied message when users lack page permissions in a web authentication system.
Create a user account repository interface extending the Spring framework repository, and implement methods to find a user by username and by email.
Design and implement the user service surface and its implementation, wiring the user account repository to find by username, handle not found errors, and save new users via the framework.
Explain CSRF and CORS, show how attackers use GET and POST requests to exploit sessions, and how the server issues and validates JWT across origins.
Create a robust web authentication module by defining user, email, and password validation with dedicated exceptions for existing or missing usernames, emails, and password validity.
Learn to implement a unified exception processing class to handle email exists, username exists, and password validation errors, returning proper http responses while enforcing password rules.
Test all exceptions in a professional web authentication system by validating email existence, username existence, and password rules, then map each exception to precise http responses and user-facing messages.
Develop an authentication management system by implementing user, manager, admin, and super admin permissions. Define authentication types and build classes to grant read, create, update, and delete access.
Create comprehensive user service methods for registration, new user creation, and update, including validation of first name, last name, username, email, and password, with error handling for existing accounts.
Create the registration method by validating username and email, enforcing password rules, encrypting the password, assigning roles, saving the user to the repository, and emailing the password.
Create a valid username and email registration workflow by implementing methods that check username and email availability, create user accounts, and respond when a username or email already exists.
Develop methods to find a user by username, by email, and all users, using a password encoder and a Spring-based user account repository, with client-side password validation rules.
Learn how to implement a password validation method for first-time registrations, enforcing eight to sixteen characters with uppercase, lowercase, digits, and a special character, while disallowing whitespace and sequences.
Create a post mapping for /register in the user controller, delegating to the user service to register users and return a response entity with user data and 200 OK.
Develop a login post mapping by wiring username and password authentication with an authentication manager, user service, and JWT header handling to validate and log in users.
Implement a login attempts cache to limit login attempts, expire after one minute, cap at 100 entries, and provide add, remove, and attempt-check methods.
Create a Java class to track login attempts and handle authentication failure events. Define constructors and helper methods to manage login attempts for a username and integrate the authentication flow.
Learn to implement login attempts success by defining a success class, creating its constructor, wiring an event listener, and validating authentication with a user object.
Add login attempt validation to the implementation class by checking and updating user login attempts with a repository and email service, enforcing security checks before creating user details.
Test login attempts by tracking success and failure with two classes, enforcing a three-attempt limit by checking the database before granting access.
Configure a Gmail SMTP email session to send a password email at user registration, including authentication and port 456, by setting the required SMTP properties in your project.
Configure the email creation method, assemble a message with first name and password parameters, set the subject and body, and send password emails to clients.
Configure smtp transport with Gmail to send the first-time user password by email. Create the message, connect to Gmail smtp, send the password to new users, and close the transport.
Test real-time email delivery and password validation during user registration with activation emails, required fields, a password policy, and an angular front-end with a database backend.
Implement a new user service by creating a user account with first name, last name, username, email, and password, validating the email, encoding the password, and saving to the repository.
Update the user service by building a user object with username, password, email, and names, verify the current user via authentication rules, and save changes via the user account repository.
Create a new user through a post method in the user controller, validating first name, username, email, password, and role, and handle existing user exceptions via the user service.
demonstrates adding an update user functionality to the controller, updating current user fields such as first name, last name, username, email, and password, and returning an http ok response.
Implement a find-by-username method in the controller, building a user object from the user account and returning the result via a response entity.
Implement a public controller method to return all users from the user list, using a response entity to fetch all user accounts.
Add a delete user web service, implement the delete user method in the user surface and repository, and expose a controller endpoint with a response entity to confirm deletion.
Introduce change password workflow with current password, new password, and confirmation; validate, encode, update user record, save to database, and email the new password.
In this course will learn how to create the first web page interactive with the user as a professional web Authentication System and add all rules of password validator to your professional website.
An easy way you can add it to your website and display your website as a professional website and high coding professionalism.
This course is for how need to create a professional web Authentication System form with password validation and apply complex password rules when the user registration the first time on the website by using Java, Spring Boot, Spring Security, and Passay password validator, as back-End and Angular as Front-End.
In this course will learn how to create the first web page interactive with the user as a professional web Authentication System and add all rules of password validator to your professional website.
An easy way you can add it to your website and display your website as a professional website and high coding professionalism.
COURSE MODULES
REVIEW OF SPRING ESSENTIALS
Why Spring
Configuration using Spring
Bean creation
Data Management
SPRING BOOT INTRODUCTION
Introduction to Spring Boot
Value Proposition of Spring Boot
Creating a simple Boot application using Spring Initializr web-site
JPA WITH SPRING AND SPRING DATA
A quick introduction to ORM with JPA
Benefits of using Spring with JPA
JPA configuration in Spring
Configuring Spring JPA using Spring Boot
Spring Data JPA dynamic repositories
SPRING MVC ARCHITECTURE AND OVERVIEW
Introduction to Spring MVC and request processing
Controller method signatures
Using @RestController and @GetMapping annotations
Configuring Spring MVC with Spring Boot
An introduction to the REST architectural style
Controlling HTTP response with @ResponseStatus
Implementing REST with Spring MVC, @RequestMapping, @RequestBody and @ResponseBody
Spring MVC’s HttpMessageConverters
SPRING SECURITY
What problems does Spring Security solve?
Configuring authentication
Implementing authorization by intercepting URLs
Authorization using OAuth
Authorization at the Java method-level
Understanding the Spring Security filter chain