https://github.com/hakdogan/apacheshiro
:key: Using Apache Shiro JDBC Realm with MySQL Database
https://github.com/hakdogan/apacheshiro
security shiro
Last synced: about 10 hours ago
JSON representation
:key: Using Apache Shiro JDBC Realm with MySQL Database
- Host: GitHub
- URL: https://github.com/hakdogan/apacheshiro
- Owner: hakdogan
- Created: 2013-04-16T15:14:30.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2023-07-25T14:00:28.000Z (about 2 years ago)
- Last Synced: 2025-09-23T23:41:25.089Z (12 days ago)
- Topics: security, shiro
- Language: HTML
- Homepage:
- Size: 861 KB
- Stars: 30
- Watchers: 4
- Forks: 49
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/hakdogan/ApacheShiro)
# Apache Shiro
This application demonstrates the use of the `Apache Shiro JDBC Realm` with `MySQL Database` in a Java Web Application(JSF2.2)
## Exemplified topics
* Authentication
* Authorization
* JDBC Realm
* RememberMe functionality## The application uses the following SQL Schema
```sql
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;
```## Defined users
* hakdogan
* roles `admin`, `guest`
* password `12345`
* guest
* roles `guest`
* password `guest`
## Requirements
* JDK 8 or later
* Maven 3.0.0 or later
* MySql 8.x.x## To compile
```bash
mvn clean install
```## To run
```bash
mvn liberty:run
```or
```bash
sh run.sh
```## With Docker
```bash
docker-compose -f docker-compose.yml up --build
```or
```bash
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.
## A screenshot of the application
