├── .github └── ISSUE_TEMPLATE │ └── issue_report.md ├── .gitignore ├── .project ├── CONTRIBUTING.md ├── License.md ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── baeldung │ │ ├── Application.java │ │ ├── captcha │ │ ├── AbstractCaptchaService.java │ │ ├── CaptchaService.java │ │ ├── CaptchaServiceV3.java │ │ ├── CaptchaSettings.java │ │ ├── GoogleResponse.java │ │ ├── ICaptchaService.java │ │ └── ReCaptchaAttemptService.java │ │ ├── persistence │ │ ├── dao │ │ │ ├── DeviceMetadataRepository.java │ │ │ ├── NewLocationTokenRepository.java │ │ │ ├── PasswordResetTokenRepository.java │ │ │ ├── PrivilegeRepository.java │ │ │ ├── RoleRepository.java │ │ │ ├── UserLocationRepository.java │ │ │ ├── UserRepository.java │ │ │ └── VerificationTokenRepository.java │ │ └── model │ │ │ ├── DeviceMetadata.java │ │ │ ├── NewLocationToken.java │ │ │ ├── PasswordResetToken.java │ │ │ ├── Privilege.java │ │ │ ├── Role.java │ │ │ ├── User.java │ │ │ ├── UserLocation.java │ │ │ └── VerificationToken.java │ │ ├── registration │ │ ├── OnRegistrationCompleteEvent.java │ │ └── listener │ │ │ └── RegistrationListener.java │ │ ├── security │ │ ├── ActiveUserStore.java │ │ ├── AuthenticationFailureListener.java │ │ ├── CustomAuthenticationFailureHandler.java │ │ ├── CustomRememberMeServices.java │ │ ├── ISecurityUserService.java │ │ ├── LoggedUser.java │ │ ├── LoginAttemptService.java │ │ ├── MyCustomLoginAuthenticationSuccessHandler.java │ │ ├── MyLogoutSuccessHandler.java │ │ ├── MySimpleUrlAuthenticationSuccessHandler.java │ │ ├── MyUserDetailsService.java │ │ ├── UserSecurityService.java │ │ ├── google2fa │ │ │ ├── CustomAuthenticationProvider.java │ │ │ ├── CustomWebAuthenticationDetails.java │ │ │ └── CustomWebAuthenticationDetailsSource.java │ │ └── location │ │ │ ├── DifferentLocationChecker.java │ │ │ ├── DifferentLocationLoginListener.java │ │ │ └── OnDifferentLocationLoginEvent.java │ │ ├── service │ │ ├── DeviceService.java │ │ ├── IUserService.java │ │ └── UserService.java │ │ ├── spring │ │ ├── AppConfig.java │ │ ├── CaptchaConfig.java │ │ ├── LoginNotificationConfig.java │ │ ├── MvcConfig.java │ │ ├── PersistenceJPAConfig.java │ │ ├── SecSecurityConfig.java │ │ ├── ServiceConfig.java │ │ ├── SetupDataLoader.java │ │ └── SpringTaskConfig.java │ │ ├── task │ │ └── TokensPurgeTask.java │ │ ├── validation │ │ ├── EmailExistsException.java │ │ ├── EmailValidator.java │ │ ├── PasswordConstraintValidator.java │ │ ├── PasswordMatches.java │ │ ├── PasswordMatchesValidator.java │ │ ├── UserValidator.java │ │ ├── ValidEmail.java │ │ └── ValidPassword.java │ │ └── web │ │ ├── controller │ │ ├── OldRegistrationController.java │ │ ├── RegistrationCaptchaController.java │ │ ├── RegistrationController.java │ │ ├── RegistrationRestController.java │ │ ├── RoleHierarchyController.java │ │ └── UserController.java │ │ ├── dto │ │ ├── PasswordDto.java │ │ └── UserDto.java │ │ ├── error │ │ ├── InvalidOldPasswordException.java │ │ ├── ReCaptchaInvalidException.java │ │ ├── ReCaptchaUnavailableException.java │ │ ├── RestResponseEntityExceptionHandler.java │ │ ├── UnusualLocationException.java │ │ ├── UserAlreadyExistException.java │ │ └── UserNotFoundException.java │ │ └── util │ │ └── GenericResponse.java ├── resources │ ├── .gitignore │ ├── application-dev.properties │ ├── application.properties │ ├── logback.xml │ ├── maxmind │ │ ├── COPYRIGHT.txt │ │ ├── GeoLite2-City.mmdb │ │ ├── GeoLite2-Country.mmdb │ │ └── LICENSE.txt │ ├── messages_en.properties │ ├── messages_es_ES.properties │ ├── templates │ │ ├── admin.html │ │ ├── badUser.html │ │ ├── changePassword.html │ │ ├── console.html │ │ ├── customLogin.html │ │ ├── emailError.html │ │ ├── expiredAccount.html │ │ ├── forgetPassword.html │ │ ├── home.html │ │ ├── homepage.html │ │ ├── invalidSession.html │ │ ├── login.html │ │ ├── loginRememberMe.html │ │ ├── logout.html │ │ ├── qrcode.html │ │ ├── registration.html │ │ ├── registrationCaptcha.html │ │ ├── registrationConfirm.html │ │ ├── registrationReCaptchaV3.html │ │ ├── roleHierarchy.html │ │ ├── successRegister.html │ │ ├── updatePassword.html │ │ └── users.html │ ├── webSecurityConfig-basic.xml │ └── webSecurityConfig.xml └── webapp │ └── resources │ ├── bootstrap.css │ └── pwstrength.js └── test ├── java └── com │ └── baeldung │ ├── spring │ ├── ConfigTest.java │ ├── TestDbConfig.java │ ├── TestIntegrationConfig.java │ └── TestTaskConfig.java │ └── test │ ├── ChangePasswordIntegrationTest.java │ ├── DeviceServiceIntegrationTest.java │ ├── GetLoggedUsersIntegrationTest.java │ ├── IntegrationSuite.java │ ├── LocalizationIntegrationTest.java │ ├── LockAccountAfterSeveralTriesIntegrationTest.java │ ├── RegistrationControllerIntegrationTest.java │ ├── RegistrationPasswordLiveTest.java │ ├── SpringSecurityRolesIntegrationTest.java │ ├── TokenExpirationIntegrationTest.java │ ├── UserIntegrationTest.java │ └── UserServiceIntegrationTest.java └── resources ├── logback-test.xml └── maxmind └── GeoLite2-City.mmdb /.github/ISSUE_TEMPLATE/issue_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/.github/ISSUE_TEMPLATE/issue_report.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/.gitignore -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/.project -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /License.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/License.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/baeldung/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/Application.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/AbstractCaptchaService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/AbstractCaptchaService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/CaptchaService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/CaptchaService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/CaptchaServiceV3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/CaptchaServiceV3.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/CaptchaSettings.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/CaptchaSettings.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/GoogleResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/GoogleResponse.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/ICaptchaService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/ICaptchaService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/captcha/ReCaptchaAttemptService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/captcha/ReCaptchaAttemptService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/DeviceMetadataRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/DeviceMetadataRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/NewLocationTokenRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/NewLocationTokenRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/PasswordResetTokenRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/PasswordResetTokenRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/PrivilegeRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/PrivilegeRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/RoleRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/RoleRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/UserLocationRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/UserLocationRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/UserRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/UserRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/dao/VerificationTokenRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/dao/VerificationTokenRepository.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/DeviceMetadata.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/DeviceMetadata.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/NewLocationToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/NewLocationToken.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/PasswordResetToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/PasswordResetToken.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/Privilege.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/Privilege.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/Role.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/Role.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/User.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/UserLocation.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/UserLocation.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/persistence/model/VerificationToken.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/persistence/model/VerificationToken.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/registration/OnRegistrationCompleteEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/registration/OnRegistrationCompleteEvent.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/registration/listener/RegistrationListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/registration/listener/RegistrationListener.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/ActiveUserStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/ActiveUserStore.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/AuthenticationFailureListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/AuthenticationFailureListener.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/CustomAuthenticationFailureHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/CustomAuthenticationFailureHandler.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/CustomRememberMeServices.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/CustomRememberMeServices.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/ISecurityUserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/ISecurityUserService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/LoggedUser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/LoggedUser.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/LoginAttemptService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/LoginAttemptService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/MyCustomLoginAuthenticationSuccessHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/MyCustomLoginAuthenticationSuccessHandler.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/MyLogoutSuccessHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/MyLogoutSuccessHandler.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/MySimpleUrlAuthenticationSuccessHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/MySimpleUrlAuthenticationSuccessHandler.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/MyUserDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/MyUserDetailsService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/UserSecurityService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/UserSecurityService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/google2fa/CustomAuthenticationProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/google2fa/CustomAuthenticationProvider.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/google2fa/CustomWebAuthenticationDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/google2fa/CustomWebAuthenticationDetails.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/google2fa/CustomWebAuthenticationDetailsSource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/google2fa/CustomWebAuthenticationDetailsSource.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/location/DifferentLocationChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/location/DifferentLocationChecker.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/location/DifferentLocationLoginListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/location/DifferentLocationLoginListener.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/security/location/OnDifferentLocationLoginEvent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/security/location/OnDifferentLocationLoginEvent.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/service/DeviceService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/service/DeviceService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/service/IUserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/service/IUserService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/service/UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/service/UserService.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/AppConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/AppConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/CaptchaConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/CaptchaConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/LoginNotificationConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/LoginNotificationConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/MvcConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/MvcConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/PersistenceJPAConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/PersistenceJPAConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/SecSecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/SecSecurityConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/ServiceConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/ServiceConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/SetupDataLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/SetupDataLoader.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/spring/SpringTaskConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/spring/SpringTaskConfig.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/task/TokensPurgeTask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/task/TokensPurgeTask.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/EmailExistsException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/EmailExistsException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/EmailValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/EmailValidator.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/PasswordConstraintValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/PasswordConstraintValidator.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/PasswordMatches.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/PasswordMatches.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/PasswordMatchesValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/PasswordMatchesValidator.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/UserValidator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/UserValidator.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/ValidEmail.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/ValidEmail.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/validation/ValidPassword.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/validation/ValidPassword.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/controller/OldRegistrationController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/controller/OldRegistrationController.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/controller/RegistrationCaptchaController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/controller/RegistrationCaptchaController.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/controller/RegistrationController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/controller/RegistrationController.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/controller/RegistrationRestController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/controller/RegistrationRestController.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/controller/RoleHierarchyController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/controller/RoleHierarchyController.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/controller/UserController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/controller/UserController.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/dto/PasswordDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/dto/PasswordDto.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/dto/UserDto.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/dto/UserDto.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/InvalidOldPasswordException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/InvalidOldPasswordException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/ReCaptchaInvalidException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/ReCaptchaInvalidException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/ReCaptchaUnavailableException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/ReCaptchaUnavailableException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/RestResponseEntityExceptionHandler.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/UnusualLocationException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/UnusualLocationException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/UserAlreadyExistException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/UserAlreadyExistException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/error/UserNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/error/UserNotFoundException.java -------------------------------------------------------------------------------- /src/main/java/com/baeldung/web/util/GenericResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/java/com/baeldung/web/util/GenericResponse.java -------------------------------------------------------------------------------- /src/main/resources/.gitignore: -------------------------------------------------------------------------------- 1 | email.properties -------------------------------------------------------------------------------- /src/main/resources/application-dev.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/application-dev.properties -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/application.properties -------------------------------------------------------------------------------- /src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/logback.xml -------------------------------------------------------------------------------- /src/main/resources/maxmind/COPYRIGHT.txt: -------------------------------------------------------------------------------- 1 | Database and Contents Copyright (c) 2020 MaxMind, Inc. 2 | -------------------------------------------------------------------------------- /src/main/resources/maxmind/GeoLite2-City.mmdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/maxmind/GeoLite2-City.mmdb -------------------------------------------------------------------------------- /src/main/resources/maxmind/GeoLite2-Country.mmdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/maxmind/GeoLite2-Country.mmdb -------------------------------------------------------------------------------- /src/main/resources/maxmind/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/maxmind/LICENSE.txt -------------------------------------------------------------------------------- /src/main/resources/messages_en.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/messages_en.properties -------------------------------------------------------------------------------- /src/main/resources/messages_es_ES.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/messages_es_ES.properties -------------------------------------------------------------------------------- /src/main/resources/templates/admin.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/admin.html -------------------------------------------------------------------------------- /src/main/resources/templates/badUser.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/badUser.html -------------------------------------------------------------------------------- /src/main/resources/templates/changePassword.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/changePassword.html -------------------------------------------------------------------------------- /src/main/resources/templates/console.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/console.html -------------------------------------------------------------------------------- /src/main/resources/templates/customLogin.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/customLogin.html -------------------------------------------------------------------------------- /src/main/resources/templates/emailError.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/emailError.html -------------------------------------------------------------------------------- /src/main/resources/templates/expiredAccount.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/expiredAccount.html -------------------------------------------------------------------------------- /src/main/resources/templates/forgetPassword.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/forgetPassword.html -------------------------------------------------------------------------------- /src/main/resources/templates/home.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/home.html -------------------------------------------------------------------------------- /src/main/resources/templates/homepage.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/homepage.html -------------------------------------------------------------------------------- /src/main/resources/templates/invalidSession.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/invalidSession.html -------------------------------------------------------------------------------- /src/main/resources/templates/login.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/login.html -------------------------------------------------------------------------------- /src/main/resources/templates/loginRememberMe.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/loginRememberMe.html -------------------------------------------------------------------------------- /src/main/resources/templates/logout.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/logout.html -------------------------------------------------------------------------------- /src/main/resources/templates/qrcode.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/qrcode.html -------------------------------------------------------------------------------- /src/main/resources/templates/registration.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/registration.html -------------------------------------------------------------------------------- /src/main/resources/templates/registrationCaptcha.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/registrationCaptcha.html -------------------------------------------------------------------------------- /src/main/resources/templates/registrationConfirm.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/registrationConfirm.html -------------------------------------------------------------------------------- /src/main/resources/templates/registrationReCaptchaV3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/registrationReCaptchaV3.html -------------------------------------------------------------------------------- /src/main/resources/templates/roleHierarchy.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/roleHierarchy.html -------------------------------------------------------------------------------- /src/main/resources/templates/successRegister.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/successRegister.html -------------------------------------------------------------------------------- /src/main/resources/templates/updatePassword.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/updatePassword.html -------------------------------------------------------------------------------- /src/main/resources/templates/users.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/templates/users.html -------------------------------------------------------------------------------- /src/main/resources/webSecurityConfig-basic.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/webSecurityConfig-basic.xml -------------------------------------------------------------------------------- /src/main/resources/webSecurityConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/resources/webSecurityConfig.xml -------------------------------------------------------------------------------- /src/main/webapp/resources/bootstrap.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/webapp/resources/bootstrap.css -------------------------------------------------------------------------------- /src/main/webapp/resources/pwstrength.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/main/webapp/resources/pwstrength.js -------------------------------------------------------------------------------- /src/test/java/com/baeldung/spring/ConfigTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/spring/ConfigTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/spring/TestDbConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/spring/TestDbConfig.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/spring/TestIntegrationConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/spring/TestIntegrationConfig.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/spring/TestTaskConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/spring/TestTaskConfig.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/ChangePasswordIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/ChangePasswordIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/DeviceServiceIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/DeviceServiceIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/GetLoggedUsersIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/GetLoggedUsersIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/IntegrationSuite.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/IntegrationSuite.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/LocalizationIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/LocalizationIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/LockAccountAfterSeveralTriesIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/LockAccountAfterSeveralTriesIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/RegistrationControllerIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/RegistrationControllerIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/RegistrationPasswordLiveTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/RegistrationPasswordLiveTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/SpringSecurityRolesIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/SpringSecurityRolesIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/TokenExpirationIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/TokenExpirationIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/UserIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/UserIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/com/baeldung/test/UserServiceIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/java/com/baeldung/test/UserServiceIntegrationTest.java -------------------------------------------------------------------------------- /src/test/resources/logback-test.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/resources/logback-test.xml -------------------------------------------------------------------------------- /src/test/resources/maxmind/GeoLite2-City.mmdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Baeldung/spring-security-registration/HEAD/src/test/resources/maxmind/GeoLite2-City.mmdb --------------------------------------------------------------------------------