This application demonstrates the use of the Apache Shiro JDBC Realm with MySQL Database in a Java Web Application(JSF2.2)
- Authentication
- Authorization
- JDBC Realm
- RememberMe functionality
CREATE USER 'shiro_user'@'%' IDENTIFIED BY 'shiro'; GRANT ALL PRIVILEGES ON shiro.* TO 'shiro_user'@'%' WITH GRANT OPTION; CREATE DATABASE `shiro`; USE `shiro`; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(100) COLLATE utf8_turkish_ci NOT NULL, `password` varchar(100) COLLATE utf8_turkish_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username_UNIQUE` (`username`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci; CREATE TABLE `userroles` ( `userID` int(11) NOT NULL, `role` varchar(50) COLLATE utf8_turkish_ci NOT NULL, PRIMARY KEY (`userID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;
- hakdogan
- roles
admin,guest - password
12345
- roles
- guest
- roles
guest - password
guest
- roles
- JDK 8 or later
- Maven 3.0.0 or later
- MySql 8.x.x
mvn clean install
mvn liberty:run
or
sh run.sh
docker-compose -f docker-compose.yml up --build
or
sh compose-up.sh
This option creates a MySql Server with the database and user needed by the web application then runs together with the app.