Project description

  • Using SpringBoot, MyBatis, Shiro framework, the development of a set of authority system, very low threshold, use. At the beginning of the design, it pays great attention to security, escorts the enterprise system, and makes everything so simple.
  • Provides the code generator, only need to write about 30% of the code, the rest of the code to the system automatically generated, can quickly complete the development task
  • Supports mainstream databases such as MySQL, Oracle, SQL Server, and PostgreSQL

It has the following characteristics

  • Flexible permission control, can control to the page or button, meet most of the permission requirements
  • Perfect department management and data authority, through annotations to achieve data authority control
  • Perfect XSS defense and script filtering, completely eliminate XSS attacks
  • Distributed deployment is supported and sessions are stored in Redis
  • Friendly code structure and comments, easy to read and secondary development
  • Quartz periodic tasks are introduced to dynamically add, modify, delete, pause, resume tasks, and view logs
  • Page interaction using Vue2. X, greatly improved the development efficiency
  • Swagger document support is introduced to facilitate the writing of API interface documents


Data permission design ideas

  • Administrators manage the data of their own departments and sub-departments
  • Menu management, scheduled tasks, parameter management, dictionary management, system log, no data permission
  • Business function: Query and operate data according to user data permission [Without the data permission of the department, you can also query your own data]


The project structure

Renren-security ├─ Renren-Common Public module │ ├─ Database SQL Script │ │ ├─ Modules │ │ ├─ Job Time Task │ │ ├─ OSS File storage │ │ └ ─ sys system management (core) │ │ │ └ ─ resources │ ├ ─ mapper MyBatis file │ ├ ─ the statics static resource │ ├ ─ the template system page │ │ ├ ─ modules module page │ │ ├ ─ index. HTML AdminLTE theme style (the default theme) │ │ └ ─ index1. HTML Layui theme │ └ ─ application. Yml global configuration file │ │ ├ ─ renren - │ API API service ├ ─ renren - generator code generator │ └ ─ resources │ ├ ─ mapper MyBatis file │ ├ ─ the template code generator template (can add or modify the corresponding template) │ ├ ─ application. Yml global configuration file │ ├ ─ gentiorg.properties, ├ ─ gentiorg.propertiesCopy the code


Technical selection:

  • Core framework: Spring Boot 2.0
  • Security framework: Apache Shiro 1.4
  • View framework: Spring MVC 5.0
  • Persistence layer framework: MyBatis 3.3
  • Timer: Quartz 2.3
  • Database connection pool: Druid 1.1
  • Log management: SLF4J 1.7, Log4j
  • Page interaction: vue2.x


The software requirements

  • JDK1.8
  • MySQL5.5 +
  • Maven3.0 +


Local deployment

  • Download the source code through Git

  • Create database renren_security with utF-8 encoding

  • Mysql > select * from db/mysql. SQL;

  • Modify the application-dev.yml file and update the MySQL account and password

  • In the renren-Security directory, run MVN Clean Install

  • Eclipse, IDEA run adminApplication. Java to start project renren-admin

  • Renren – admin access path: http://localhost:8080/renren-admin

  • Swagger document path: http://localhost:8080/renren-admin/swagger/index.html

  • Account password: admin/admin


  • Eclipse, IDEA run apiApplication. Java, can start the project
  • Renren – API access path: http://localhost:8081/renren-api/swagger-ui.html


  • Eclipse, the IDEA of running GeneratorApplication. Java, can start project “renren – generator”
  • Renren – generator access path: http://localhost:8082/renren-generator


Distributed deployment

  • In distributed deployment, you need to install Redis and configure redis information in config.properties
  • Renren.redis. open=true is required to enable redis cache
  • [renren.shiro. Redis =true] to save shiro session to Redis


Project presentations

  • Demo address: demo. Open. Renren. IO/renren – secu…
  • Account password: admin/admin


How to communicate, feedback and contribute?

  • Develop document: www.renren.io/guide/secur…
  • Official community: www.renren.io/community
  • Gitee Warehouse: gitee.com/renrenio/re…
  • Github Repository: github.com/renrenio/re…
  • Open source for everyone: www.renren.io
  • Official QQ groups: 324780204, 145799952
  • If you need to pay attention to the latest developments of the project, please refer to the Watch and Star projects, which are also the best support for the project
  • Technical discussion, secondary development and other consultation, questions and suggestions, please go to the official community, I will answer and reply as soon as possible!
  • Scan the code on wechat and follow [Renren Open Source] to get the latest developments and update reminders of the project


    Enter the image title here




Interface document effect picture:

Enter the image title here


Layui theme Style:

Enter the image title here


AdminLTE Theme style:

Enter the image title here
Enter the image title here
Enter the image title here
Enter the image title here
Enter the image title here
Enter the image title here
Enter the image title here
Enter the image title here