1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jinan-jimeng-network_0-real-token

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 09:10 145ab27

real-Token v1.28.0

Один из лёгких фреймворков для аутентификации в thinkphp6, который делает авторизацию простой и элегантной!

real-Token — это лёгкий PHP-фреймворк для авторизации, предназначенный для решения следующих задач:

  • Авторизация: однопользовательская и многопользовательская.
  • Аутентификация: аутентификация пользователя и роли.
  • SSO: реализация единого входа.
  • Имитация учётной записи другого пользователя: возможность работать с данными любого пользователя в реальном времени.
  • Временное переключение личности: временное переключение сеанса на другую учётную запись.
  • Разделение внешнего и внутреннего интерфейса: поддержка приложений, небольших программ и других устройств без поддержки Cookie.
  • Стильные токены: встроенные шесть стилей токенов, а также возможность настройки генерации токенов и префиксов.

Введение

Мы постараемся объяснить причины и сценарии использования каждой функции, чтобы вы узнали не только о самом фреймворке real-Token, но и о лучших практиках проектирования авторизации в большинстве сценариев.

Не стесняйтесь поддержать проект, поставив звёздочку!

Обзор основных функций

real-Token — это облегчённый PHP-фреймворк, разработанный специально для thinkphp6. Его основные функции включают:

  • Авторизацию: однопользовательскую и многопользовательскую.
  • Аутентификацию: аутентификацию пользователя и роли.
  • Удаление пользователей: удаление пользователей по идентификатору учётной записи или по значению токена.
  • Единый вход (SSO): реализацию единого входа.
  • Имитацию учётной записи: возможность работы с данными любого пользователя в режиме реального времени.
  • Переключение личности: возможность временного переключения сеанса на другую учётную запись.
  • Разделение внешнего и внутреннего интерфейсов: поддержку приложений, небольших программ и других устройств без поддержки cookie.

Функциональные возможности real-Token

  • Авторизация: однопользовательская и многопользовательская;
  • Аутентификация: аутентификация пользователя и роли;
  • Удаление пользователей: удаление пользователей по ID учётной записи или значению токена;
  • Единый вход (SSO);
  • Имитация учётной записи: работа с данными любого пользователя в реальном времени;
  • Переключение личности: временное переключение сессии на другую учётную запись;
  • Разделение внешнего и внутреннего интерфейса: поддержка приложений, маленьких программ и других устройств, не поддерживающих Cookie.

Структура каталогов

  • token/Driver.php: определяет методы и функции токена;
  • token/driver/Mysql: драйвер токена для базы данных MySQL;
  • token/driver/Redis: драйвер токена для Redis;
  • token.php: связывает драйвер токена и выполняет его методы;
  • auth.php: класс управления правами доступа.

База данных

Если у вас несколько модулей, вам потребуется создать соответствующие таблицы пользователей, групп пользователей и прав доступа.

/*
Navicat MySQL Data Transfer

Source Server         : real-think
Source Server Version : 50734
Source Host           : 8.136.216.46:3306
Source Database       : real-think

Target Server Type    : MYSQL
Target Server Version : 50734
File Encoding         : 65001

Date: 2021-10-17 15:18:39
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for jm_admin
-- ----------------------------
DROP TABLE IF EXISTS `jm_admin`;
CREATE TABLE `jm_admin` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `group_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Групповой ID',
  `username` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Имя пользователя',
  `nickname` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Псевдоним',
  `password` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Пароль',
  `salt` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Соль пароля',
  `email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Электронная почта',
  `mobile` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Мобильный телефон',
  `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Аватар',
  `level` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Уровень',
  `gender` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT 'Пол: 0 = женщина, 1 = мужчина',
  `birthday` date DEFAULT NULL COMMENT 'День рождения',
  `bio` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Девиз',
  `money` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'Баланс',
  `score` int(10) NOT NULL DEFAULT '0' COMMENT 'Очки',
  `successions` int(10) unsigned NOT NULL DEFAULT '1' COMMENT 'Количество последовательных входов в систему',
  `maxsuccessions` int(10) unsigned NOT NULL DEFAULT '1' COMMENT 'Максимальное количество последовательных входов в систему',
  `prevtime` int(10) DEFAULT NULL COMMENT 'Время последнего входа в систему',
  `logintime` int(10) DEFAULT NULL COMMENT

...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jinan-jimeng-network_0-real-token.git
git@api.gitlife.ru:oschina-mirror/jinan-jimeng-network_0-real-token.git
oschina-mirror
jinan-jimeng-network_0-real-token
jinan-jimeng-network_0-real-token
master