├── ssia-ch10-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── filters │ │ │ └── CsrfTokenLogger.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch10-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ ├── MainController.java │ │ │ └── ProductController.java │ └── resources │ │ ├── application.properties │ │ └── templates │ │ └── main.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch10-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ ├── csrf │ │ │ └── CustomCsrfTokenRepository.java │ │ │ ├── entities │ │ │ └── Token.java │ │ │ └── repositories │ │ │ └── JpaTokenRepository.java │ └── resources │ │ ├── application.properties │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch10-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── MainController.java │ └── resources │ │ ├── application.properties │ │ └── templates │ │ └── main.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch11-ex1-s1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── AuthController.java │ │ │ ├── entities │ │ │ ├── Otp.java │ │ │ └── User.java │ │ │ ├── repositories │ │ │ ├── OtpRepository.java │ │ │ └── UserRepository.java │ │ │ ├── services │ │ │ └── UserService.java │ │ │ └── utils │ │ │ └── GenerateCodeUtil.java │ └── resources │ │ ├── application.properties │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch11-ex1-s2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── authentication │ │ │ ├── OtpAuthentication.java │ │ │ ├── UsernamePasswordAuthentication.java │ │ │ ├── filters │ │ │ │ ├── InitialAuthenticationFilter.java │ │ │ │ └── JwtAuthenticationFilter.java │ │ │ ├── model │ │ │ │ └── User.java │ │ │ ├── providers │ │ │ │ ├── OtpAuthenticationProvider.java │ │ │ │ └── UsernamePasswordAuthenticationProvider.java │ │ │ └── proxy │ │ │ │ └── AuthenticationServerProxy.java │ │ │ ├── config │ │ │ ├── ProjectConfig.java │ │ │ └── SecurityConfig.java │ │ │ └── controllers │ │ │ └── TestController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch12-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── MainController.java │ └── resources │ │ ├── application.properties │ │ └── static │ │ └── main.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── MainTests.java │ └── config │ ├── MockCustomUser.java │ └── SecurityContextFactory.java ├── ssia-ch12-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── MainController.java │ └── resources │ │ ├── application.properties │ │ └── static │ │ └── main.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── MainTests.java │ └── config │ ├── MockCustomUser.java │ └── SecurityContextFactory.java ├── ssia-ch12-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── MainController.java │ └── resources │ │ ├── application.properties │ │ └── static │ │ └── main.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── MainTests.java │ └── config │ ├── MockCustomUser.java │ └── SecurityContextFactory.java ├── ssia-ch13-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch13-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch13-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch13-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch14-ex1-as ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch14-ex1-rs-migration ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ResourceServerConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch14-ex1-rs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ResourceServerConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch14-ex2-as ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ ├── application.properties │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch14-ex2-rs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch15-ex1-as ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch15-ex1-rs-migration ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch15-ex1-rs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch15-ex2-as ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ ├── application.properties │ │ └── ssia.jks │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch15-ex2-rs-migration ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch15-ex2-rs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch15-ex3-as ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ ├── application.properties │ │ └── ssia.jks │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch15-ex3-rs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch15-ex4-as ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── config │ │ │ ├── AuthServerConfig.java │ │ │ ├── CustomTokenEnhancer.java │ │ │ └── WebSecurityConfig.java │ └── resources │ │ ├── application.properties │ │ └── ssia.jks │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch15-ex4-rs ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ ├── AdditionalClaimsAccessTokenConverter.java │ │ └── ResourceServerConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch16-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── services │ │ │ └── NameService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch16-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── services │ │ │ └── NameService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch16-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── BookController.java │ │ │ ├── model │ │ │ └── Employee.java │ │ │ └── services │ │ │ └── BookService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch16-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── DocumentController.java │ │ │ ├── model │ │ │ └── Document.java │ │ │ ├── repositories │ │ │ └── DocumentRepository.java │ │ │ ├── security │ │ │ └── DocumentsPermissionEvaluator.java │ │ │ └── services │ │ │ └── DocumentService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch16-ex5 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── DocumentController.java │ │ │ ├── model │ │ │ └── Document.java │ │ │ ├── repositories │ │ │ └── DocumentRepository.java │ │ │ ├── security │ │ │ └── DocumentsPermissionEvaluator.java │ │ │ └── services │ │ │ └── DocumentService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch16-ex6 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── services │ │ │ └── NameService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch17-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── ProductController.java │ │ │ ├── model │ │ │ └── Product.java │ │ │ └── service │ │ │ └── ProductService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch17-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── ProductController.java │ │ │ ├── model │ │ │ └── Product.java │ │ │ └── service │ │ │ └── ProductService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch17-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── ProductController.java │ │ │ ├── model │ │ │ └── Product.java │ │ │ └── service │ │ │ └── ProductService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch17-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── lsp │ ├── conf │ │ └── properties.json │ └── log │ │ ├── properties_err_20200318.log │ │ └── properties_out_20200318.log ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── ProductController.java │ │ │ ├── entities │ │ │ └── Product.java │ │ │ └── repositories │ │ │ └── ProductRepository.java │ └── resources │ │ ├── application.properties │ │ ├── data.sql │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch17-ex5 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── lsp │ ├── conf │ │ └── properties.json │ └── log │ │ ├── properties_err_20200318.log │ │ └── properties_out_20200318.log ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── ProductController.java │ │ │ ├── entities │ │ │ └── Product.java │ │ │ └── repositories │ │ │ └── ProductRepository.java │ └── resources │ │ ├── application.properties │ │ ├── data.sql │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch18-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ResourceServerConfig.java │ │ │ ├── controller │ │ │ └── WorkoutController.java │ │ │ ├── entities │ │ │ └── Workout.java │ │ │ ├── repositories │ │ │ └── WorkoutRepository.java │ │ │ └── service │ │ │ └── WorkoutService.java │ └── resources │ │ ├── application.properties │ │ ├── data.sql │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MethodTests.java ├── ssia-ch18-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ResourceServerConfig.java │ │ ├── controller │ │ └── WorkoutController.java │ │ ├── entities │ │ └── Workout.java │ │ ├── repositories │ │ └── WorkoutRepository.java │ │ └── service │ │ └── WorkoutService.java │ └── resources │ ├── application.properties │ ├── data.sql │ └── schema.sql ├── ssia-ch19-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch19-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch19-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch19-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ProjectConfig.java │ │ └── controllers │ │ └── HelloController.java │ └── resources │ └── application.properties ├── ssia-ch19-ex5 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── EndpointTests.java │ └── MethodTests.java ├── ssia-ch19-ex6 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch2-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch2-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch2-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── MainTests.java │ └── config │ └── TestConfig.java ├── ssia-ch2-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── MainTests.java │ └── config │ └── TestConfig.java ├── ssia-ch2-ex5 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── security │ │ │ └── CustomAuthenticationProvider.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── AuthenticationTests.java │ ├── MainTests.java │ └── config │ ├── CustomSecurityContextFactory.java │ └── WithCustomUser.java ├── ssia-ch2-ex6 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ ├── UserManagementConfig.java │ │ │ └── WebAuthorizationConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch3-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ ├── model │ │ │ └── User.java │ │ │ └── services │ │ │ └── InMemoryUserDetailsService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch3-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── lsp │ ├── conf │ │ └── properties.json │ └── log │ │ ├── properties_err_20200411.log │ │ └── properties_out_20200411.log ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ ├── application.properties │ │ ├── data.sql │ │ └── schema.sql │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch3-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── lsp │ ├── conf │ │ └── properties.json │ └── log │ │ ├── properties_err_20200411.log │ │ └── properties_out_20200411.log ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ ├── application.properties │ │ └── server.ldif │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch5-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── security │ │ │ └── CustomAuthenticationProvider.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch5-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── services │ │ │ └── HelloService.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch5-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ ├── CustomEntryPoint.java │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch5-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── handlers │ │ │ ├── CustomAuthenticationFailureHandler.java │ │ │ └── CustomAuthenticationSuccessHandler.java │ └── resources │ │ ├── application.properties │ │ └── static │ │ └── home.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── MainTests.java │ └── config │ └── TestConfig.java ├── ssia-ch6-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── MainPageController.java │ │ │ ├── entities │ │ │ ├── Authority.java │ │ │ ├── Product.java │ │ │ ├── User.java │ │ │ └── enums │ │ │ │ ├── Currency.java │ │ │ │ └── EncryptionAlgorithm.java │ │ │ ├── model │ │ │ └── CustomUserDetails.java │ │ │ ├── repositories │ │ │ ├── ProductRepository.java │ │ │ └── UserRepository.java │ │ │ └── services │ │ │ ├── AuthenticationProviderService.java │ │ │ ├── JpaUserDetailsService.java │ │ │ └── ProductService.java │ └── resources │ │ ├── application.properties │ │ ├── data.sql │ │ ├── schema.sql │ │ └── templates │ │ └── main.html │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch7-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch7-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── TestController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch7-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch7-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── TestController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch8-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controller │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ ├── EndpointCiaoTests.java │ └── EndpointHelloTests.java ├── ssia-ch8-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── TestController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch8-ex3 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── TestController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch8-ex4 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── ProductController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch8-ex5 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── HelloController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch8-ex6 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── VideoController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch8-ex7 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ └── controllers │ │ │ └── TestController.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch9-ex1 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── filters │ │ │ ├── AuthenticationLoggingFilter.java │ │ │ └── RequestValidationFilter.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java ├── ssia-ch9-ex2 ├── .gitignore ├── .mvn │ └── wrapper │ │ ├── MavenWrapperDownloader.java │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── laurentiuspilca │ │ │ └── ssia │ │ │ ├── Main.java │ │ │ ├── config │ │ │ └── ProjectConfig.java │ │ │ ├── controllers │ │ │ └── HelloController.java │ │ │ └── filters │ │ │ └── StaticKeyAuthenticationFilter.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── laurentiuspilca │ └── ssia │ └── MainTests.java └── ssia-ch9-ex3 ├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── laurentiuspilca │ │ └── ssia │ │ ├── Main.java │ │ ├── config │ │ └── ProjectConfig.java │ │ ├── controllers │ │ └── HelloController.java │ │ └── filters │ │ ├── AuthenticationLoggingFilter.java │ │ └── RequestValidationFilter.java └── resources │ └── application.properties └── test └── java └── com └── laurentiuspilca └── ssia └── MainTests.java /ssia-ch10-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch10-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch10-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch10-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch10-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch10-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.PostMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | @RestController 8 | public class HelloController { 9 | 10 | @GetMapping("/hello") 11 | public String getHello() { 12 | return "Get Hello!"; 13 | } 14 | 15 | @PostMapping("/hello") 16 | public String postHello() { 17 | return "Post Hello!"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ssia-ch10-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch10-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch10-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch10-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch10-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch10-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch10-ex2/src/main/java/com/laurentiuspilca/ssia/controllers/MainController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | 6 | @Controller 7 | public class MainController { 8 | 9 | @GetMapping("/main") 10 | public String main() { 11 | return "main.html"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch10-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch10-ex2/src/main/resources/templates/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
7 | Name: 8 | 9 | 10 | 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /ssia-ch10-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch10-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch10-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch10-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch10-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch10-ex3/src/main/java/com/laurentiuspilca/ssia/repositories/JpaTokenRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Token; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | import java.util.Optional; 7 | 8 | public interface JpaTokenRepository extends JpaRepository { 9 | 10 | Optional findTokenByIdentifier(String identifier); 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch10-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always 5 | -------------------------------------------------------------------------------- /ssia-ch10-ex3/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`token` ( 2 | `id` INT NOT NULL AUTO_INCREMENT, 3 | `identifier` VARCHAR(45) NULL, 4 | `token` TEXT NULL, 5 | PRIMARY KEY (`id`)); 6 | -------------------------------------------------------------------------------- /ssia-ch10-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch10-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch10-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch10-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch10-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch10-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch10-ex4/src/main/resources/templates/main.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch11-ex1-s1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/java/com/laurentiuspilca/ssia/entities/Otp.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.entities; 2 | 3 | import javax.persistence.Entity; 4 | import javax.persistence.Id; 5 | 6 | @Entity 7 | public class Otp { 8 | 9 | @Id 10 | private String username; 11 | private String code; 12 | 13 | public String getUsername() { 14 | return username; 15 | } 16 | 17 | public void setUsername(String username) { 18 | this.username = username; 19 | } 20 | 21 | public String getCode() { 22 | return code; 23 | } 24 | 25 | public void setCode(String code) { 26 | this.code = code; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/java/com/laurentiuspilca/ssia/entities/User.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.entities; 2 | 3 | import javax.persistence.Entity; 4 | import javax.persistence.Id; 5 | 6 | @Entity 7 | public class User { 8 | 9 | @Id 10 | private String username; 11 | private String password; 12 | 13 | public String getUsername() { 14 | return username; 15 | } 16 | 17 | public void setUsername(String username) { 18 | this.username = username; 19 | } 20 | 21 | public String getPassword() { 22 | return password; 23 | } 24 | 25 | public void setPassword(String password) { 26 | this.password = password; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/java/com/laurentiuspilca/ssia/repositories/OtpRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Otp; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | import java.util.Optional; 7 | 8 | public interface OtpRepository extends JpaRepository { 9 | 10 | Optional findOtpByUsername(String username); 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/java/com/laurentiuspilca/ssia/repositories/UserRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.User; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | import java.util.Optional; 7 | 8 | public interface UserRepository extends JpaRepository { 9 | 10 | Optional findUserByUsername(String username); 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always 5 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`user` ( 2 | `username` VARCHAR(45) NULL, 3 | `password` TEXT NULL, 4 | PRIMARY KEY (`username`)); 5 | 6 | CREATE TABLE IF NOT EXISTS `spring`.`otp` ( 7 | `username` VARCHAR(45) NOT NULL, 8 | `code` VARCHAR(45) NULL, 9 | PRIMARY KEY (`username`)); 10 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s1/src/test/java/com/laurentiuspilca/ssia/MainTests.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class MainTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch11-ex1-s2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration; 6 | 7 | @SpringBootApplication(exclude = UserDetailsServiceAutoConfiguration.class) 8 | public class Main { 9 | 10 | public static void main(String[] args) { 11 | SpringApplication.run(Main.class, args); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/src/main/java/com/laurentiuspilca/ssia/authentication/OtpAuthentication.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.authentication; 2 | 3 | import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; 4 | 5 | public class OtpAuthentication extends UsernamePasswordAuthenticationToken { 6 | 7 | public OtpAuthentication(Object principal, Object credentials) { 8 | super(principal, credentials); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/src/main/java/com/laurentiuspilca/ssia/config/ProjectConfig.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.client.RestTemplate; 6 | 7 | @Configuration 8 | public class ProjectConfig { 9 | 10 | @Bean 11 | public RestTemplate restTemplate() { 12 | return new RestTemplate(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/src/main/java/com/laurentiuspilca/ssia/controllers/TestController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class TestController { 8 | 9 | @GetMapping("/test") 10 | public String test() { 11 | return "Test"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch11-ex1-s2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | auth.server.base.url=http://localhost:8080 4 | jwt.signing.key=ymLTU8rq83j4fmJZj60wh4OrMNuntIj4fmJ 5 | -------------------------------------------------------------------------------- /ssia-ch12-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch12-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch12-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch12-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch12-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch12-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch12-ex1/src/main/resources/static/main.html: -------------------------------------------------------------------------------- 1 |

Hello there!

2 | -------------------------------------------------------------------------------- /ssia-ch12-ex1/src/test/java/com/laurentiuspilca/ssia/config/MockCustomUser.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.security.test.context.support.WithSecurityContext; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @WithSecurityContext(factory = SecurityContextFactory.class) 10 | public @interface MockCustomUser { 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch12-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch12-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/src/main/java/com/laurentiuspilca/ssia/controllers/MainController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken; 4 | import org.springframework.stereotype.Controller; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | 7 | @Controller 8 | public class MainController { 9 | 10 | @GetMapping("/") 11 | public String main(OAuth2AuthenticationToken token) { 12 | System.out.println(token.getPrincipal()); 13 | return "main.html"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/src/main/resources/static/main.html: -------------------------------------------------------------------------------- 1 |

Hello there!

2 | -------------------------------------------------------------------------------- /ssia-ch12-ex2/src/test/java/com/laurentiuspilca/ssia/config/MockCustomUser.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.security.test.context.support.WithSecurityContext; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @WithSecurityContext(factory = SecurityContextFactory.class) 10 | public @interface MockCustomUser { 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch12-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch12-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/src/main/java/com/laurentiuspilca/ssia/config/ProjectConfig.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.config.annotation.web.builders.HttpSecurity; 5 | import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; 6 | 7 | @Configuration 8 | public class ProjectConfig extends WebSecurityConfigurerAdapter { 9 | 10 | @Override 11 | protected void configure(HttpSecurity http) throws Exception { 12 | http.oauth2Login(); 13 | 14 | http.authorizeRequests() 15 | .anyRequest().authenticated(); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/src/main/java/com/laurentiuspilca/ssia/controllers/MainController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken; 4 | import org.springframework.stereotype.Controller; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | 7 | @Controller 8 | public class MainController { 9 | 10 | @GetMapping("/") 11 | public String main(OAuth2AuthenticationToken token) { 12 | System.out.println(token.getPrincipal()); 13 | return "main.html"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.security.oauth2.client.registration.github.client-id=a7553955a0c534ec5e6b 2 | spring.security.oauth2.client.registration.github.client-secret=1795b30b425ebb79e424afa51913f1c724da0dbb 3 | 4 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/src/main/resources/static/main.html: -------------------------------------------------------------------------------- 1 |

Hello there!

2 | -------------------------------------------------------------------------------- /ssia-ch12-ex3/src/test/java/com/laurentiuspilca/ssia/config/MockCustomUser.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.security.test.context.support.WithSecurityContext; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @WithSecurityContext(factory = SecurityContextFactory.class) 10 | public @interface MockCustomUser { 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch13-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch13-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch13-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch13-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch13-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch13-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch13-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch13-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch13-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch13-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch13-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch13-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch13-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch13-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch13-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch13-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch13-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch13-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch13-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch13-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch13-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch13-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch13-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch13-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-as/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-as/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch14-ex1-as/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch14-ex1-as/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-as/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-as/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs-migration/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs-migration/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch14-ex1-rs-migration/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs-migration/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs-migration/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs-migration/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs-migration/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch14-ex1-rs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/src/main/java/com/laurentiuspilca/ssia/config/ResourceServerConfig.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; 5 | 6 | @Configuration 7 | @EnableResourceServer 8 | public class ResourceServerConfig { 9 | } 10 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex1-rs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | security.oauth2.resource.token-info-uri=http://localhost:8080/oauth/check_token 4 | 5 | security.oauth2.client.client-id=resourceserver 6 | security.oauth2.client.client-secret=resourceserversecret 7 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-as/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-as/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch14-ex2-as/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch14-ex2-as/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-as/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-as/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always 5 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-as/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `oauth_access_token` ( 2 | `token_id` varchar(255) NOT NULL, 3 | `token` blob, 4 | `authentication_id` varchar(255) DEFAULT NULL, 5 | `user_name` varchar(255) DEFAULT NULL, 6 | `client_id` varchar(255) DEFAULT NULL, 7 | `authentication` blob, 8 | `refresh_token` varchar(255) DEFAULT NULL, 9 | PRIMARY KEY (`token_id`)); 10 | 11 | CREATE TABLE IF NOT EXISTS `oauth_refresh_token` ( 12 | `token_id` varchar(255) NOT NULL, 13 | `token` blob, 14 | `authentication` blob, 15 | PRIMARY KEY (`token_id`)); 16 | 17 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-rs/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-rs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch14-ex2-rs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch14-ex2-rs/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-rs/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-rs/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch14-ex2-rs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 4 | spring.datasource.username=root 5 | spring.datasource.password= 6 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-as/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-as/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex1-as/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex1-as/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-as/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-as/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | jwt.key=ymLTU8rq83j4fmJZj60wh4OrMNuntIj4fmJ 2 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs-migration/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs-migration/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex1-rs-migration/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs-migration/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs-migration/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | import javax.crypto.KeyGenerator; 7 | import javax.crypto.SecretKey; 8 | import java.util.Base64; 9 | 10 | @SpringBootApplication 11 | public class Main { 12 | 13 | public static void main(String[] args) throws Exception { 14 | SpringApplication.run(Main.class, args); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs-migration/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs-migration/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | jwt.key=ymLTU8rq83j4fmJZj60wh4OrMNuntIj4fmJ 4 | 5 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex1-rs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex1-rs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | jwt.key=ymLTU8rq83j4fmJZj60wh4OrMNuntIj4fmJ 4 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-as/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-as/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex2-as/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex2-as/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-as/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-as/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | password=ssia123 2 | privateKey=ssia.jks 3 | alias=ssia 4 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-as/src/main/resources/ssia.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex2-as/src/main/resources/ssia.jks -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs-migration/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs-migration/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex2-rs-migration/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs-migration/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs-migration/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs-migration/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs-migration/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | publicKey=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhORXDLLrdozoNFsIyaY48NwZaSP2f94JobhEV1CYw4ImqOH7My+odLyI063aDu0HLOeV0yGUj+oZVRNM/8Y5Qhl/fIRZeCtCDVybT7yJdBz/WvzAulfI4aGWSdjGUCwS88z5Af2BJUKGv7bkwRtaF+btTq8OEC/ke0GKOkWh2nGDKeHK645OOv59qLEoa8v6Ns/SveQCfB93Zx7V+utuV6Xjp8jqUN2X5MtM9+AQ2eihhTuLGCfZm0c51QXUihXYx4GH4kLMOULOXvI3uCSdrgkF6heTFRhN6sPCex1TEWB1mbGpCDGkRZ6Q0IeSKb5fcuW+LhUqfTwCKz6cvXT6kwIDAQAB -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex2-rs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex2-rs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | publicKey=-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhORXDLLrdozoNFsIyaY48NwZaSP2f94JobhEV1CYw4ImqOH7My+odLyI063aDu0HLOeV0yGUj+oZVRNM/8Y5Qhl/fIRZeCtCDVybT7yJdBz/WvzAulfI4aGWSdjGUCwS88z5Af2BJUKGv7bkwRtaF+btTq8OEC/ke0GKOkWh2nGDKeHK645OOv59qLEoa8v6Ns/SveQCfB93Zx7V+utuV6Xjp8jqUN2X5MtM9+AQ2eihhTuLGCfZm0c51QXUihXYx4GH4kLMOULOXvI3uCSdrgkF6heTFRhN6sPCex1TEWB1mbGpCDGkRZ6Q0IeSKb5fcuW+LhUqfTwCKz6cvXT6kwIDAQAB-----END PUBLIC KEY----- 4 | 5 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-as/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-as/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex3-as/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex3-as/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-as/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-as/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | password=ssia123 2 | privateKey=ssia.jks 3 | alias=ssia 4 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-as/src/main/resources/ssia.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex3-as/src/main/resources/ssia.jks -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex3-rs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/src/main/java/com/laurentiuspilca/ssia/config/ResourceServerConfig.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; 5 | import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; 6 | 7 | @Configuration 8 | @EnableResourceServer 9 | public class ResourceServerConfig extends ResourceServerConfigurerAdapter { 10 | } 11 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello! "; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex3-rs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | security.oauth2.resource.jwt.key-uri=http://localhost:8080/oauth/token_key 4 | 5 | security.oauth2.client.client-id=resourceserver 6 | security.oauth2.client.client-secret=resourceserversecret 7 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-as/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-as/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex4-as/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex4-as/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-as/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-as/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | password=ssia123 2 | privateKey=ssia.jks 3 | alias=ssia 4 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-as/src/main/resources/ssia.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex4-as/src/main/resources/ssia.jks -------------------------------------------------------------------------------- /ssia-ch15-ex4-rs/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-rs/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch15-ex4-rs/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch15-ex4-rs/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-rs/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-rs/src/main/java/com/laurentiuspilca/ssia/config/AdditionalClaimsAccessTokenConverter.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.security.oauth2.provider.OAuth2Authentication; 4 | import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter; 5 | 6 | import java.util.Map; 7 | 8 | public class AdditionalClaimsAccessTokenConverter 9 | extends JwtAccessTokenConverter { 10 | 11 | @Override 12 | public OAuth2Authentication extractAuthentication(Map map) { 13 | var authentication = super.extractAuthentication(map); 14 | authentication.setDetails(map); 15 | return authentication; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ssia-ch15-ex4-rs/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | publicKey=-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhORXDLLrdozoNFsIyaY48NwZaSP2f94JobhEV1CYw4ImqOH7My+odLyI063aDu0HLOeV0yGUj+oZVRNM/8Y5Qhl/fIRZeCtCDVybT7yJdBz/WvzAulfI4aGWSdjGUCwS88z5Af2BJUKGv7bkwRtaF+btTq8OEC/ke0GKOkWh2nGDKeHK645OOv59qLEoa8v6Ns/SveQCfB93Zx7V+utuV6Xjp8jqUN2X5MtM9+AQ2eihhTuLGCfZm0c51QXUihXYx4GH4kLMOULOXvI3uCSdrgkF6heTFRhN6sPCex1TEWB1mbGpCDGkRZ6Q0IeSKb5fcuW+LhUqfTwCKz6cvXT6kwIDAQAB-----END PUBLIC KEY----- 4 | 5 | -------------------------------------------------------------------------------- /ssia-ch16-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch16-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch16-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch16-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch16-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import com.laurentiuspilca.ssia.services.NameService; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.RestController; 7 | 8 | @RestController 9 | public class HelloController { 10 | 11 | @Autowired 12 | private NameService nameService; 13 | 14 | @GetMapping("/hello") 15 | public String hello() { 16 | return "Hello, " + nameService.getName(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ssia-ch16-ex1/src/main/java/com/laurentiuspilca/ssia/services/NameService.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.services; 2 | 3 | import org.springframework.security.access.prepost.PreAuthorize; 4 | import org.springframework.stereotype.Service; 5 | 6 | @Service 7 | public class NameService { 8 | 9 | @PreAuthorize("hasAuthority('write')") 10 | public String getName() { 11 | return "Fantastico"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch16-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch16-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch16-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch16-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch16-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch16-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch16-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch16-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch16-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch16-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch16-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch16-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch16-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch16-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch16-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex4/src/main/java/com/laurentiuspilca/ssia/repositories/DocumentRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.model.Document; 4 | import org.springframework.stereotype.Repository; 5 | 6 | import java.util.Map; 7 | 8 | @Repository 9 | public class DocumentRepository { 10 | 11 | private Map documents = 12 | Map.of("abc123", new Document("natalie"), 13 | "qwe123", new Document("natalie"), 14 | "asd555", new Document("emma")); 15 | 16 | 17 | public Document findDocument(String code) { 18 | return documents.get(code); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ssia-ch16-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch16-ex5/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch16-ex5/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch16-ex5/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch16-ex5/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch16-ex5/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex5/src/main/java/com/laurentiuspilca/ssia/repositories/DocumentRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.model.Document; 4 | import org.springframework.stereotype.Repository; 5 | 6 | import java.util.Map; 7 | 8 | @Repository 9 | public class DocumentRepository { 10 | 11 | private Map documents = 12 | Map.of("abc123", new Document("natalie"), 13 | "qwe123", new Document("natalie"), 14 | "asd555", new Document("emma")); 15 | 16 | 17 | public Document findDocument(String code) { 18 | return documents.get(code); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /ssia-ch16-ex5/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch16-ex6/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch16-ex6/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch16-ex6/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch16-ex6/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch16-ex6/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch16-ex6/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import com.laurentiuspilca.ssia.services.NameService; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.RestController; 7 | 8 | @RestController 9 | public class HelloController { 10 | 11 | @Autowired 12 | private NameService nameService; 13 | 14 | @GetMapping("/hello") 15 | public String hello() { 16 | return "Hello, " + nameService.getName(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ssia-ch16-ex6/src/main/java/com/laurentiuspilca/ssia/services/NameService.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.services; 2 | 3 | import org.springframework.security.access.annotation.Secured; 4 | import org.springframework.stereotype.Service; 5 | 6 | @Service 7 | public class NameService { 8 | 9 | // @RolesAllowed("ROLE_ADMIN") 10 | @Secured("ROLE_ADMIN") 11 | public String getName() { 12 | return "Fantastico"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch16-ex6/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch17-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch17-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch17-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch17-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch17-ex1/src/main/java/com/laurentiuspilca/ssia/service/ProductService.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.service; 2 | 3 | import com.laurentiuspilca.ssia.model.Product; 4 | import org.springframework.security.access.prepost.PreFilter; 5 | import org.springframework.stereotype.Service; 6 | 7 | import java.util.List; 8 | 9 | @Service 10 | public class ProductService { 11 | 12 | @PreFilter("filterObject.owner == authentication.name") 13 | public List sellProducts(List products) { 14 | // sell products and return the sold products list 15 | return products; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ssia-ch17-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch17-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch17-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch17-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch17-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch17-ex2/src/main/java/com/laurentiuspilca/ssia/service/ProductService.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.service; 2 | 3 | import com.laurentiuspilca.ssia.model.Product; 4 | import org.springframework.security.access.prepost.PreFilter; 5 | import org.springframework.stereotype.Service; 6 | 7 | import java.util.List; 8 | 9 | @Service 10 | public class ProductService { 11 | 12 | @PreFilter("filterObject.owner == authentication.name") 13 | public List sellProducts(List products) { 14 | // order products and return the ordered products list 15 | return products; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ssia-ch17-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch17-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch17-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch17-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch17-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch17-ex3/src/main/java/com/laurentiuspilca/ssia/model/Product.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.model; 2 | 3 | public class Product { 4 | 5 | private String name; 6 | private String owner; 7 | 8 | public Product(String name, String owner) { 9 | this.name = name; 10 | this.owner = owner; 11 | } 12 | 13 | public String getName() { 14 | return name; 15 | } 16 | 17 | public void setName(String name) { 18 | this.name = name; 19 | } 20 | 21 | public String getOwner() { 22 | return owner; 23 | } 24 | 25 | public void setOwner(String owner) { 26 | this.owner = owner; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ssia-ch17-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch17-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch17-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch17-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch17-ex4/lsp/conf/properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex4/lsp/conf/properties.json -------------------------------------------------------------------------------- /ssia-ch17-ex4/lsp/log/properties_out_20200318.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex4/lsp/log/properties_out_20200318.log -------------------------------------------------------------------------------- /ssia-ch17-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch17-ex4/src/main/java/com/laurentiuspilca/ssia/repositories/ProductRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Product; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.security.access.prepost.PostFilter; 6 | 7 | import java.util.List; 8 | 9 | public interface ProductRepository 10 | extends JpaRepository { 11 | 12 | @PostFilter("filterObject.owner == authentication.principal.username") 13 | List findProductByNameContains(String text); 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch17-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always -------------------------------------------------------------------------------- /ssia-ch17-ex4/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `owner`) VALUES ('1', 'beer', 'nikolai'); 2 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `owner`) VALUES ('2', 'candy', 'nikolai'); 3 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `owner`) VALUES ('3', 'chocolate', 'julien'); 4 | -------------------------------------------------------------------------------- /ssia-ch17-ex4/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`product` ( 2 | `id` INT NOT NULL AUTO_INCREMENT, 3 | `name` VARCHAR(45) NULL, 4 | `owner` VARCHAR(45) NULL, 5 | PRIMARY KEY (`id`)); -------------------------------------------------------------------------------- /ssia-ch17-ex5/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch17-ex5/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex5/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch17-ex5/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch17-ex5/lsp/conf/properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex5/lsp/conf/properties.json -------------------------------------------------------------------------------- /ssia-ch17-ex5/lsp/log/properties_out_20200318.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch17-ex5/lsp/log/properties_out_20200318.log -------------------------------------------------------------------------------- /ssia-ch17-ex5/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch17-ex5/src/main/java/com/laurentiuspilca/ssia/repositories/ProductRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Product; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.List; 8 | 9 | public interface ProductRepository 10 | extends JpaRepository { 11 | 12 | @Query("SELECT p FROM Product p WHERE p.name LIKE %:text% AND p.owner=?#{authentication.principal.username}") 13 | List findProductByNameContains(String text); 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch17-ex5/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always -------------------------------------------------------------------------------- /ssia-ch17-ex5/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `owner`) VALUES ('1', 'beer', 'nikolai'); 2 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `owner`) VALUES ('2', 'candy', 'nikolai'); 3 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `owner`) VALUES ('3', 'chocolate', 'julien'); 4 | -------------------------------------------------------------------------------- /ssia-ch17-ex5/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`product` ( 2 | `id` INT NOT NULL AUTO_INCREMENT, 3 | `name` VARCHAR(45) NULL, 4 | `owner` VARCHAR(45) NULL, 5 | PRIMARY KEY (`id`)); -------------------------------------------------------------------------------- /ssia-ch18-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch18-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch18-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch18-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch18-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch18-ex1/src/main/java/com/laurentiuspilca/ssia/repositories/WorkoutRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Workout; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.List; 8 | 9 | public interface WorkoutRepository extends JpaRepository { 10 | 11 | @Query("SELECT w FROM Workout w WHERE w.user = ?#{authentication.name}") 12 | List findAllByUser(); 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch18-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 4 | spring.datasource.username=root 5 | spring.datasource.password= 6 | spring.datasource.initialization-mode=always 7 | 8 | claim.aud=fitnessapp 9 | jwkSetUri=http://localhost:8080/auth/realms/master/protocol/openid-connect/certs 10 | -------------------------------------------------------------------------------- /ssia-ch18-ex1/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (1, 'bill', '2020-06-10 15:05:05', '2020-06-10 16:10:07', '3'); 2 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (2, 'rachel', '2020-06-10 15:05:10', '2020-06-10 16:10:20', '3'); 3 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (3, 'bill', '2020-06-12 12:00:10', '2020-06-12 13:01:10', '4'); 4 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (4, 'rachel', '2020-06-12 12:00:05', '2020-06-12 12:00:11', '4'); 5 | -------------------------------------------------------------------------------- /ssia-ch18-ex1/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`workout` ( 2 | `id` INT NOT NULL AUTO_INCREMENT, 3 | `user` VARCHAR(45) NULL, 4 | `start` DATETIME NULL, 5 | `end` DATETIME NULL, 6 | `difficulty` INT NULL, 7 | PRIMARY KEY (`id`)); 8 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch18-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch18-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/src/main/java/com/laurentiuspilca/ssia/repositories/WorkoutRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Workout; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.List; 8 | 9 | public interface WorkoutRepository extends JpaRepository { 10 | 11 | @Query("SELECT w FROM Workout w WHERE w.user = ?#{authentication.name}") 12 | List findAllByUser(); 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 4 | spring.datasource.username=root 5 | spring.datasource.password= 6 | spring.datasource.initialization-mode=always 7 | 8 | claim.aud=fitnessapp 9 | jwkSetUri=http://localhost:8080/auth/realms/master/protocol/openid-connect/certs 10 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (1, 'bill', '2020-06-10 15:05:05', '2020-06-10 16:10:07', '3'); 2 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (2, 'rachel', '2020-06-10 15:05:10', '2020-06-10 16:10:20', '3'); 3 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (3, 'bill', '2020-06-12 12:00:10', '2020-06-12 13:01:10', '4'); 4 | INSERT IGNORE INTO `spring`.`workout` (`id`, `user`, `start`, `end`, `difficulty`) VALUES (4, 'rachel', '2020-06-12 12:00:05', '2020-06-12 12:00:11', '4'); 5 | -------------------------------------------------------------------------------- /ssia-ch18-ex2/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`workout` ( 2 | `id` INT NOT NULL AUTO_INCREMENT, 3 | `user` VARCHAR(45) NULL, 4 | `start` DATETIME NULL, 5 | `end` DATETIME NULL, 6 | `difficulty` INT NULL, 7 | PRIMARY KEY (`id`)); 8 | -------------------------------------------------------------------------------- /ssia-ch19-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch19-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch19-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch19-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch19-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch19-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.security.core.Authentication; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | import reactor.core.publisher.Mono; 7 | 8 | @RestController 9 | public class HelloController { 10 | 11 | @GetMapping("/hello") 12 | public Mono hello(Mono auth) { 13 | Mono message = auth.map(a -> "Hello " + a.getName()); 14 | return message; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ssia-ch19-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch19-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch19-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch19-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch19-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch19-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch19-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch19-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch19-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch19-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch19-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch19-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch19-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch19-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch19-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch19-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch19-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch19-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch19-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch19-ex5/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch19-ex5/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch19-ex5/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch19-ex5/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch19-ex5/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch19-ex5/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.security.access.prepost.PreAuthorize; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | import reactor.core.publisher.Mono; 7 | 8 | @RestController 9 | public class HelloController { 10 | 11 | @GetMapping("/hello") 12 | @PreAuthorize("hasRole('ADMIN')") 13 | public Mono hello() { 14 | return Mono.just("Hello!"); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ssia-ch19-ex5/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch19-ex6/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch19-ex6/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch19-ex6/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch19-ex6/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch19-ex6/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch19-ex6/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | import reactor.core.publisher.Mono; 6 | 7 | @RestController 8 | public class HelloController { 9 | 10 | @GetMapping("/hello") 11 | public Mono hello() { 12 | return Mono.just("Hello!"); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ssia-ch19-ex6/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | server.port=9090 2 | 3 | jwk.endpoint=http://localhost:8080/auth/realms/master/protocol/openid-connect/certs 4 | -------------------------------------------------------------------------------- /ssia-ch2-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch2-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch2-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch2-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch2-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch2-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch2-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex2/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch2-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch2-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch2-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex3/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch2-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch2-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch2-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex4/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex5/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch2-ex5/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch2-ex5/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch2-ex5/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex5/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex5/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex5/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex5/src/test/java/com/laurentiuspilca/ssia/config/WithCustomUser.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.security.test.context.support.WithSecurityContext; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @WithSecurityContext(factory = CustomSecurityContextFactory.class) 10 | public @interface WithCustomUser { 11 | 12 | String username(); 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex6/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch2-ex6/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch2-ex6/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch2-ex6/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch2-ex6/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex6/src/main/java/com/laurentiuspilca/ssia/config/WebAuthorizationConfig.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.security.config.annotation.web.builders.HttpSecurity; 5 | import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; 6 | 7 | @Configuration 8 | public class WebAuthorizationConfig extends WebSecurityConfigurerAdapter { 9 | 10 | @Override 11 | protected void configure(HttpSecurity http) throws Exception { 12 | http.httpBasic(); 13 | http.authorizeRequests().anyRequest().authenticated(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ssia-ch2-ex6/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch2-ex6/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch3-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch3-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch3-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch3-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch3-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch3-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/lsp/conf/properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex2/lsp/conf/properties.json -------------------------------------------------------------------------------- /ssia-ch3-ex2/lsp/log/properties_out_20200411.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex2/lsp/log/properties_out_20200411.log -------------------------------------------------------------------------------- /ssia-ch3-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:h2:mem:ssia 2 | spring.datasource.username=sa 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always 5 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO `spring`.`authorities` VALUES (NULL, 'john', 'write'); 2 | INSERT INTO `spring`.`users` VALUES (NULL, 'john', '12345', '1'); 3 | -------------------------------------------------------------------------------- /ssia-ch3-ex2/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | create schema spring; 2 | 3 | CREATE TABLE IF NOT EXISTS `spring`.`users` ( 4 | `id` INT NOT NULL AUTO_INCREMENT, 5 | `username` VARCHAR(45) NULL, 6 | `password` VARCHAR(45) NULL, 7 | `enabled` INT NOT NULL, 8 | PRIMARY KEY (`id`)); 9 | 10 | CREATE TABLE IF NOT EXISTS `spring`.`authorities` ( 11 | `id` INT NOT NULL AUTO_INCREMENT, 12 | `username` VARCHAR(45) NULL, 13 | `authority` VARCHAR(45) NULL, 14 | PRIMARY KEY (`id`)); 15 | -------------------------------------------------------------------------------- /ssia-ch3-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch3-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch3-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch3-ex3/lsp/conf/properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex3/lsp/conf/properties.json -------------------------------------------------------------------------------- /ssia-ch3-ex3/lsp/log/properties_out_20200411.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch3-ex3/lsp/log/properties_out_20200411.log -------------------------------------------------------------------------------- /ssia-ch3-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch3-ex3/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch3-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.ldap.embedded.ldif=classpath:server.ldif 2 | spring.ldap.embedded.base-dn=dc=springframework,dc=org 3 | spring.ldap.embedded.port=33389 4 | -------------------------------------------------------------------------------- /ssia-ch3-ex3/src/main/resources/server.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=springframework,dc=org 2 | objectclass: top 3 | objectclass: domain 4 | objectclass: extensibleObject 5 | dc: springframework 6 | 7 | dn: ou=groups,dc=springframework,dc=org 8 | objectclass: top 9 | objectclass: organizationalUnit 10 | ou: groups 11 | 12 | dn: uid=john,ou=groups,dc=springframework,dc=org 13 | objectclass: top 14 | objectclass: person 15 | objectclass: organizationalPerson 16 | objectclass: inetOrgPerson 17 | cn: John 18 | sn: John 19 | uid: john 20 | userPassword: 12345 -------------------------------------------------------------------------------- /ssia-ch5-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch5-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch5-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch5-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch5-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch5-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | -------------------------------------------------------------------------------- /ssia-ch5-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch5-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch5-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch5-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch5-ex2/src/main/java/com/laurentiuspilca/ssia/services/HelloService.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.services; 2 | 3 | import org.springframework.scheduling.annotation.Async; 4 | import org.springframework.security.core.context.SecurityContext; 5 | import org.springframework.security.core.context.SecurityContextHolder; 6 | import org.springframework.stereotype.Service; 7 | 8 | @Service 9 | public class HelloService { 10 | 11 | @Async 12 | public String getName() { 13 | SecurityContext context = SecurityContextHolder.getContext(); 14 | String username = context.getAuthentication().getName(); 15 | return username; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ssia-ch5-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch5-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch5-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch5-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch5-ex3/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch5-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch5-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch5-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch5-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch5-ex4/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.web.bind.annotation.GetMapping; 5 | 6 | @Controller 7 | public class HelloController { 8 | 9 | @GetMapping("/home") 10 | public String home() { 11 | return "home.html"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch5-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch5-ex4/src/main/resources/static/home.html: -------------------------------------------------------------------------------- 1 |

Welcome

2 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch6-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch6-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/java/com/laurentiuspilca/ssia/entities/enums/Currency.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.entities.enums; 2 | 3 | public enum Currency { 4 | USD, GBP, EUR 5 | } 6 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/java/com/laurentiuspilca/ssia/entities/enums/EncryptionAlgorithm.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.entities.enums; 2 | 3 | public enum EncryptionAlgorithm { 4 | BCRYPT, SCRYPT 5 | } 6 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/java/com/laurentiuspilca/ssia/repositories/ProductRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.Product; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface ProductRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/java/com/laurentiuspilca/ssia/repositories/UserRepository.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.repositories; 2 | 3 | import com.laurentiuspilca.ssia.entities.User; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | import java.util.Optional; 7 | 8 | public interface UserRepository extends JpaRepository { 9 | 10 | Optional findUserByUsername(String username); 11 | } 12 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/java/com/laurentiuspilca/ssia/services/ProductService.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.services; 2 | 3 | import com.laurentiuspilca.ssia.entities.Product; 4 | import com.laurentiuspilca.ssia.repositories.ProductRepository; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | 8 | import java.util.List; 9 | 10 | @Service 11 | public class ProductService { 12 | 13 | @Autowired 14 | private ProductRepository productRepository; 15 | 16 | public List findAll() { 17 | return productRepository.findAll(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost/spring?useLegacyDatetimeCode=false&serverTimezone=UTC 2 | spring.datasource.username=root 3 | spring.datasource.password= 4 | spring.datasource.initialization-mode=always 5 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/resources/data.sql: -------------------------------------------------------------------------------- 1 | INSERT IGNORE INTO `spring`.`user` (`id`, `username`, `password`, `algorithm`) VALUES ('1', 'john', '$2a$10$xn3LI/AjqicFYZFruSwve.681477XaVNaUQbr1gioaWPn4t1KsnmG', 'BCRYPT'); 2 | 3 | INSERT IGNORE INTO `spring`.`authority` (`id`, `name`, `user`) VALUES ('1', 'READ', '1'); 4 | INSERT IGNORE INTO `spring`.`authority` (`id`, `name`, `user`) VALUES ('2', 'WRITE', '1'); 5 | 6 | INSERT IGNORE INTO `spring`.`product` (`id`, `name`, `price`, `currency`) VALUES ('1', 'Chocolate', '10', 'USD'); 7 | -------------------------------------------------------------------------------- /ssia-ch6-ex1/src/main/resources/schema.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `spring`.`user` ( 2 | `id` INT NOT NULL AUTO_INCREMENT, 3 | `username` VARCHAR(45) NOT NULL, 4 | `password` TEXT NOT NULL, 5 | `algorithm` VARCHAR(45) NOT NULL, 6 | PRIMARY KEY (`id`)); 7 | 8 | CREATE TABLE IF NOT EXISTS `spring`.`authority` ( 9 | `id` INT NOT NULL AUTO_INCREMENT, 10 | `name` VARCHAR(45) NOT NULL, 11 | `user` INT NOT NULL, 12 | PRIMARY KEY (`id`)); 13 | 14 | CREATE TABLE IF NOT EXISTS `spring`.`product` ( 15 | `id` INT NOT NULL AUTO_INCREMENT, 16 | `name` VARCHAR(45) NOT NULL, 17 | `price` VARCHAR(45) NOT NULL, 18 | `currency` VARCHAR(45) NOT NULL, 19 | PRIMARY KEY (`id`)); 20 | 21 | -------------------------------------------------------------------------------- /ssia-ch7-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch7-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch7-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch7-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch7-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch7-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch7-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch7-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch7-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch7-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch7-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch7-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch7-ex2/src/main/java/com/laurentiuspilca/ssia/controllers/TestController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class TestController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch7-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch7-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch7-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch7-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch7-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch7-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch7-ex3/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch7-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch7-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch7-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch7-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch7-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch7-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch7-ex4/src/main/java/com/laurentiuspilca/ssia/controllers/TestController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class TestController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch7-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch7-ex4/src/test/java/com/laurentiuspilca/ssia/MainTests.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class MainTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex1/src/main/java/com/laurentiuspilca/ssia/controller/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controller; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | 14 | @GetMapping("/ciao") 15 | public String ciao() { 16 | return "Ciao!"; 17 | } 18 | 19 | 20 | @GetMapping("/hola") 21 | public String hola() { 22 | return "Hola!"; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /ssia-ch8-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch8-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch8-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch8-ex4/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex4/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex4/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex4/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex4/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex4/src/main/java/com/laurentiuspilca/ssia/controllers/ProductController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.PathVariable; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | @RestController 8 | public class ProductController { 9 | 10 | @GetMapping("/product/{code}") 11 | public String productCode(@PathVariable String code) { 12 | return code; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ssia-ch8-ex4/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch8-ex5/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex5/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex5/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex5/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex5/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex5/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch8-ex5/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch8-ex6/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex6/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex6/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex6/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex6/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex6/src/main/java/com/laurentiuspilca/ssia/controllers/VideoController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.PathVariable; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | @RestController 8 | public class VideoController { 9 | 10 | @GetMapping("/video/{country}/{language}") 11 | public String video(@PathVariable String country, 12 | @PathVariable String language) { 13 | return "Video allowed for " + country + " " + language; 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /ssia-ch8-ex6/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch8-ex7/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch8-ex7/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch8-ex7/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch8-ex7/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch8-ex7/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch8-ex7/src/main/java/com/laurentiuspilca/ssia/controllers/TestController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.PathVariable; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | @RestController 8 | public class TestController { 9 | 10 | @GetMapping("/email/{email}") 11 | public String video(@PathVariable String email) { 12 | return "Allowed for email " + email; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /ssia-ch8-ex7/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch9-ex1/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch9-ex1/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch9-ex1/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch9-ex1/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch9-ex1/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch9-ex1/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch9-ex1/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ssia-ch9-ex2/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch9-ex2/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch9-ex2/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch9-ex2/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar 3 | -------------------------------------------------------------------------------- /ssia-ch9-ex2/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration; 6 | 7 | @SpringBootApplication(exclude = {UserDetailsServiceAutoConfiguration.class }) 8 | public class Main { 9 | 10 | public static void main(String[] args) { 11 | SpringApplication.run(Main.class, args); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /ssia-ch9-ex2/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch9-ex2/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | authorization.key=SD9cICjl1e 2 | -------------------------------------------------------------------------------- /ssia-ch9-ex3/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/** 5 | !**/src/test/** 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | 30 | ### VS Code ### 31 | .vscode/ 32 | -------------------------------------------------------------------------------- /ssia-ch9-ex3/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wikibook/spring-security/1a5e63ff431e2e45dd3d1cd3882b4f3182a4f9b6/ssia-ch9-ex3/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /ssia-ch9-ex3/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar 3 | -------------------------------------------------------------------------------- /ssia-ch9-ex3/src/main/java/com/laurentiuspilca/ssia/Main.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class Main { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(Main.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch9-ex3/src/main/java/com/laurentiuspilca/ssia/controllers/HelloController.java: -------------------------------------------------------------------------------- 1 | package com.laurentiuspilca.ssia.controllers; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | @RestController 7 | public class HelloController { 8 | 9 | @GetMapping("/hello") 10 | public String hello() { 11 | return "Hello!"; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ssia-ch9-ex3/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------