{"id":18291099,"url":"https://github.com/hakdogan/apacheshiro","last_synced_at":"2025-10-05T07:05:07.020Z","repository":{"id":8063511,"uuid":"9475494","full_name":"hakdogan/ApacheShiro","owner":"hakdogan","description":":key: Using Apache Shiro JDBC Realm with MySQL Database","archived":false,"fork":false,"pushed_at":"2023-07-25T14:00:28.000Z","size":882,"stargazers_count":30,"open_issues_count":3,"forks_count":49,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-09-23T23:41:25.089Z","etag":null,"topics":["security","shiro"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hakdogan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-04-16T15:14:30.000Z","updated_at":"2024-01-09T22:49:19.000Z","dependencies_parsed_at":"2023-01-11T18:46:12.118Z","dependency_job_id":null,"html_url":"https://github.com/hakdogan/ApacheShiro","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hakdogan/ApacheShiro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakdogan%2FApacheShiro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakdogan%2FApacheShiro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakdogan%2FApacheShiro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakdogan%2FApacheShiro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hakdogan","download_url":"https://codeload.github.com/hakdogan/ApacheShiro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hakdogan%2FApacheShiro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278420208,"owners_count":25983814,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["security","shiro"],"created_at":"2024-11-05T14:13:13.613Z","updated_at":"2025-10-05T07:05:07.004Z","avatar_url":"https://github.com/hakdogan.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/hakdogan/ApacheShiro.svg?branch=master)](https://travis-ci.org/hakdogan/ApacheShiro)\r\n![\"Docker Pulls](https://img.shields.io/docker/pulls/hakdogan/shiro.svg)\r\n\r\n# Apache Shiro\r\n\r\nThis application demonstrates the use of the `Apache Shiro JDBC Realm` with `MySQL Database` in a Java Web Application(JSF2.2) \r\n\r\n## Exemplified topics\r\n\r\n* Authentication\r\n* Authorization\r\n* JDBC Realm\r\n* RememberMe functionality\r\n\r\n## The application uses the following SQL Schema\r\n```sql\r\nCREATE USER 'shiro_user'@'%' IDENTIFIED BY 'shiro';\r\nGRANT ALL PRIVILEGES ON shiro.* TO 'shiro_user'@'%' WITH GRANT OPTION;\r\n\r\nCREATE DATABASE `shiro`;\r\n\r\nUSE `shiro`;\r\n\r\nCREATE TABLE `user` (\r\n  `id` int(11) NOT NULL AUTO_INCREMENT,\r\n  `username` varchar(100) COLLATE utf8_turkish_ci NOT NULL,\r\n  `password` varchar(100) COLLATE utf8_turkish_ci NOT NULL,\r\n  PRIMARY KEY (`id`),\r\n  UNIQUE KEY `username_UNIQUE` (`username`)\r\n) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;\r\n\r\nCREATE TABLE `userroles` (\r\n  `userID` int(11) NOT NULL,\r\n  `role` varchar(50) COLLATE utf8_turkish_ci NOT NULL,\r\n  PRIMARY KEY (`userID`)\r\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci;\r\n```\r\n\r\n## Defined users\r\n* hakdogan\r\n    * roles `admin`, `guest` \r\n    * password `12345`\r\n* guest\r\n    * roles `guest`\r\n    * password `guest`\r\n    \r\n## Requirements\r\n* JDK 8 or later\r\n* Maven 3.0.0 or later\r\n* MySql 8.x.x \r\n\r\n## To compile\r\n```bash\r\nmvn clean install\r\n```\r\n\r\n## To run\r\n```bash\r\nmvn liberty:run\r\n```\r\n\r\nor\r\n\r\n```bash\r\nsh run.sh\r\n```\r\n\r\n## With Docker\r\n```bash\r\ndocker-compose -f docker-compose.yml up --build\r\n```\r\n\r\nor\r\n\r\n```bash\r\nsh compose-up.sh\r\n```\r\n\r\nThis option creates a `MySql Server` with the database and user needed by the web application then runs together with the app.\r\n\r\n## A screenshot of the application\r\n![](images/screenshot.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhakdogan%2Fapacheshiro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhakdogan%2Fapacheshiro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhakdogan%2Fapacheshiro/lists"}