├── 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 |
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 |
--------------------------------------------------------------------------------