Описание проекта
- Разработана система управления правами с использованием фреймворков SpringBoot, MyBatis и Shiro. Проект имеет низкий порог входа и готов к использованию сразу после установки. При разработке особое внимание было уделено безопасности, чтобы обеспечить защиту корпоративных систем и сделать всё максимально простым.
- Предоставлен генератор кода, который позволяет писать только около 30% кода, а остальной код генерируется автоматически, что позволяет быстро завершить разработку.
- Поддерживает такие популярные базы данных, как MySQL, Oracle, SQL Server и PostgreSQL.Основные характеристики
- Гибкое управление правами, позволяющее контролировать доступ на уровне страниц или кнопок, что удовлетворяет большинство требований к правам доступа.
- Полная система управления отделами и прав доступа к данным, реализованная с помощью аннотаций для управления правами доступа к данным.
- Полная защита от атак XSS и фильтрация скриптов, что полностью исключает возможность атак XSS.
- Поддержка распределенной установки, сессии хранятся в Redis.
- Дружественная структура кода и комментарии, что облегчает чтение и повторное использование.
- Внедрение задач Quartz, позволяющее динамически добавлять, изменять, удалять, приостанавливать, возобновлять задачи и просматривать журналы.
- Взаимодействие страниц с использованием Vue2.x, что значительно повышает эффективность разработки.
- Внедрение поддержки документации Swagger, что облегчает создание документации API.Идеология управления правами доступа к данным
- Управление пользователями, ролями и отделами, позволяющее управлять данными текущего и подчиненных отделов.
- Управление меню, задачами Quartz, параметрами, словарями и журналами системы, которые не имеют прав доступа к данным.
- Бизнес-функции, которые позволяют пользователям с учетом своих прав доступа к данным выполнять запросы и операции с данными. [Если у пользователя нет прав доступа к данным текущего отдела, он все равно может выполнять запросы к своим данным.]Структура проекта
renren-security
├─renren-common Общие модули
│
├─renren-admin Административная панель
│ ├─db SQL-скрипты базы данных
│ │
│ ├─modules Модули
│ │ ├─job Задачи Quartz
│ │ ├─oss Хранение файлов
│ │ └─sys Системное управление (основной модуль)
│ │
│ └─resources
│ ├─mapper Файлы MyBatis
│ ├─statics Статические ресурсы
│ ├─template Шаблоны страниц (системные)
│ │ ├─modules Модульные страницы
│ │ ├─index.html Тема AdminLTE (по умолчанию)
│ │ └─index1.html Тема Layui
│ └─application.yml Глобальные конфигурации
│
│
├─renren-api Сервис API
│
├─renren-generator Генератор кода
│ └─resources
│ ├─mapper Файлы MyBatis
│ ├─template Шаблоны генератора кода (можно добавлять или изменять шаблоны)
│ ├─application.yml Глобальный конфигурационный файл
│ └─generator.properties Конфигурационный файл генератора кода
│
**Технологические решения:**
- Основной фреймворк: Spring Boot 2. 0
- Фреймворк безопасности: Apache Shiro 1. 4
- Фреймворк представлений: Spring MVC 5. 0
- Фреймворк для работы с базами данных: MyBatis 3. 3
- Таймер: Quartz 2. 3
- Подключение к базе данных: Druid 1. 1
- Управление логами: SLF4J 1. 7, Log4j
- Взаимодействие с пользователем: Vue2. x
**Программные требования**
- JDK 1. 8
- MySQL 5. 5+
- Maven 3. 0+
**Локальная установка**
- Скачать исходный код через git
- Создать базу данных renren_security с кодировкой UTF-8- Выполнить файл db/mysql.sql для инициализации данных [в зависимости от потребностей]
- Изменить файл application-dev.yml и обновить учетные данные MySQL
- В директории renren-security выполнить mvn clean install
- Запустить проект renren-admin через Eclipse или IDEA, выполнив AdminApplication.java
- Адрес для доступа к renren-admin: http://localhost:8080/renren-admin
- Адрес для доступа к документации Swagger: http://localhost:8080/renren-admin/swagger/index.html
- Логин/пароль: admin/admin
- Запустить проект renren-api через Eclipse или IDEA, выполнив ApiApplication.java
- Адрес для доступа к renren-api: http://localhost:8081/renren-api/swagger-ui.html
- Запустить проект renren-generator через Eclipse или IDEA, выполнив GeneratorApplication.java
- Адрес для доступа к renren-generator: http://localhost:8082/renren-generator
**Развертывание в распределенной среде**
- Для развертывания в распределенной среде необходимо установить redis и настроить информацию redis в файле config.properties
- Необходимо настроить renren.redis.open=true для включения кэширования redis
- Необходимо настроить renren.shiro.redis=true для хранения сессий Shiro в redis
**Демонстрация проекта**
- Адрес демонстрации: http://demo.open.renren.io/renren-security
- Логин/пароль: admin/admin
**Как общаться, давать обратную связь и участвовать в проекте?**
- Разработчики: http://www.renren.io/guide/security
- Официальное сообщество: http://www.renren.io/community
- Репозиторий на gitee: https://gitee.com/renrenio/renren-security
- Репозиторий на github: https://github.com/renrenio/renren-security
- [Открытый проект Renren](http://www.renren.io): http://www.renren.io - Официальный QQ-чат: 324780204, 145799952
- Для отслеживания последних новостей проекта, пожалуйста, добавьте проект в избранное и отметьте его звездой, это лучшая поддержка для проекта.
- Для технических обсуждений, вторичной разработки и других вопросов и предложений, пожалуйста, обратитесь в официальное сообщество, я отвечу вам в кратчайшие сроки! - Сканируйте QR-код WeChat и следите за [人人开源], чтобы получать последние новости и уведомления об обновлениях.
! [Введите описание изображения](http://cdn. renren. io/47c26201804031918312618. jpg "Введите заголовок изображения")
**Пример документации API:**
! [Введите описание изображения](http://cdn. renren. io/img/c8dae596146248d8b4d0639738c2932b "Введите заголовок изображения")
**Тема Layui:**
! [Введите описание изображения](http://cdn. renren. io/img/1013aa91fe8542b7b05d82bc9444433a "Введите заголовок изображения")
**Тема AdminLTE:**
! [Введите описание изображения](http://cdn. renren. io/img/f9762bc6574545ce908e271995efcf1c "Введите заголовок изображения")
! [Введите описание изображения](http://cdn. renren. io/img/a1b8bf1ea3db4844a8652a9cf84048cc "Введите заголовок изображения")
! [Введите описание изображения](http://cdn. renren. io/img/e542060605f94b3ebec699b0afffc22d "Введите заголовок изображения")
! [Введите описание изображения](http://cdn. renren. io/img/c94be5b4bf0d4387b18e119c91b1a986 "Введите заголовок изображения")
! [Введите описание изображения](http://cdn. renren. io/img/ae8c683a01c74d8dbc52d62547efda31 "Введите заголовок изображения")

! [Введите описание изображения](http://cdn.renren.io/img/4862ec46a9ad469b90c30788c4707e35 "Введите заголовок изображения")
! [Введите описание изображения](http://cdn.renren.io/img/5d8e7243d30a4421b90f15394b6d1ccd "Введите заголовок изображения")
! [Донат](http://cdn.renren.io/donate.jpg "Донат")
Комментарии ( 0 )