資料介紹
軟件簡介
目錄結(jié)構(gòu)
- token/Driver.php規(guī)范token的方法和功能
- token/driver/Mysql token的數(shù)據(jù)庫驅(qū)動(dòng)
- token/driver/Redis token的Redis驅(qū)動(dòng)
- token.php token的鏈接token驅(qū)動(dòng)并執(zhí)行驅(qū)動(dòng)的方法
- auth.php 權(quán)限管理類
數(shù)據(jù)庫
如果多模塊的話,需要建立對(duì)應(yīng)的用戶表、用戶分組表、用戶權(quán)限表
/* 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 '手機(jī)號(hào)', `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '頭像', `level` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '等級(jí)', `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 '連續(xù)登錄天數(shù)', `maxsuccessions` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '最大連續(xù)登錄天數(shù)', `prevtime` int(10) DEFAULT NULL COMMENT '上次登錄時(shí)間', `logintime` int(10) DEFAULT NULL COMMENT '登錄時(shí)間', `loginip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登錄IP', `loginfailure` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '失敗次數(shù)', `joinip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '加入IP', `jointime` int(10) DEFAULT NULL COMMENT '加入時(shí)間', `createtime` int(10) DEFAULT NULL COMMENT '創(chuàng)建時(shí)間', `updatetime` int(10) DEFAULT NULL COMMENT '更新時(shí)間', `token` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Token', `status` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '狀態(tài)', `verification` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '驗(yàn)證', PRIMARY KEY (`id`), KEY `username` (`username`), KEY `email` (`email`), KEY `mobile` (`mobile`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='會(huì)員表'; -- ---------------------------- -- Table structure for jm_admin_group -- ---------------------------- DROP TABLE IF EXISTS `jm_admin_group`; CREATE TABLE `jm_admin_group` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '組名', `rules` text COLLATE utf8mb4_unicode_ci COMMENT '權(quán)限節(jié)點(diǎn)', `createtime` int(10) DEFAULT NULL COMMENT '添加時(shí)間', `updatetime` int(10) DEFAULT NULL COMMENT '更新時(shí)間', `status` enum('normal','hidden') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '狀態(tài)', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='會(huì)員組表'; -- ---------------------------- -- Table structure for jm_admin_rule -- ---------------------------- DROP TABLE IF EXISTS `jm_admin_rule`; CREATE TABLE `jm_admin_rule` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `pid` int(10) DEFAULT NULL COMMENT '父ID', `name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名稱', `title` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '標(biāo)題', `remark` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '備注', `ismenu` tinyint(1) DEFAULT NULL COMMENT '是否菜單', `createtime` int(10) DEFAULT NULL COMMENT '創(chuàng)建時(shí)間', `updatetime` int(10) DEFAULT NULL COMMENT '更新時(shí)間', `weigh` int(10) DEFAULT '0' COMMENT '權(quán)重', `status` enum('normal','hidden') COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '狀態(tài)', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='會(huì)員規(guī)則表'; -- ---------------------------- -- Table structure for jm_admin_token -- ---------------------------- DROP TABLE IF EXISTS `jm_admin_token`; CREATE TABLE `jm_admin_token` ( `token` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Token', `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '會(huì)員ID', `createtime` int(10) DEFAULT NULL COMMENT '創(chuàng)建時(shí)間', `expiretime` int(10) DEFAULT NULL COMMENT '過期時(shí)間', PRIMARY KEY (`token`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='會(huì)員Token表';
引用
下載到tp6的extend\jmwl下
use jmwl\realjwt\Token; use jmwl\realjwt\Auth;
驅(qū)動(dòng)和配置
$init= [ // 驅(qū)動(dòng)方式 'type' => 'Mysql', 'table' =>"admin_token",//如果是Mysql使用的存儲(chǔ)token的表名 'userprefix'=>"up:",//如果是Redis使用的存儲(chǔ)用戶名前綴 'tokenprefix'=>"tp:",//如果是Redis使用的存儲(chǔ)token前綴 // 緩存前綴 'key' => '30tvUyXl8NkOx7YKDAoLu5FQRIGTh4qa', // 加密方式 'hashalgo' => 'ripemd160', // 緩存有效期 0表示永久緩存 'expire' => 0, ]; $usertable="admin";//用戶表名,自動(dòng)對(duì)應(yīng)用戶分組表、用戶權(quán)限表 如用戶表名:admin,那么用戶分組名:admin_group,用戶權(quán)限表:admin_rule
token類的使用和功能
這里基本不會(huì)用到,主要用的是auth類
/** Token::init($init); //判斷Token是否可用 Token::check($token, $user_id); //獲取Token內(nèi)的信息 Token::get($token, $default = false); //寫入Token Token::set($token, $user_id, $expire = null); //刪除Token Token::delete($token); //清除Token Token::clear($user_id = null);
auth的羈絆用法
基礎(chǔ)用法
//登錄 // $; // $; // $this->auth->login($username, $password); // $this->auth->getUser() // $this->auth->getUserinfo() //讀取當(dāng)前token // $this->auth->getToken() // 判斷是否登錄 // $this->auth->isLogin() //獲取會(huì)員組別規(guī)則列表 // $this->auth->getRuleList() // 設(shè)置當(dāng)前請(qǐng)求的URI // $controllername= $this->request->controller(); // $actionname= $this->request->action(); // $path = str_replace('.', '/', $controllername) . '/' . $actionname; // $this->auth->setRequestUri($path); // 獲取當(dāng)前請(qǐng)求的URI // $this->auth->getRequestUri() //檢測是否是否有對(duì)應(yīng)權(quán)限 // $this->auth-> check($path) //根據(jù)Token初始化 // $; // $this->auth->init($token); //注冊(cè) // $; // $; // $email = '18354393242@163.com'; // $mobile= '18354393243'; // $this->auth-> register($username, $password, $email, $mobile, $extend = []) //加密密碼 //$this->auth->getEncryptPassword($oldpassword, $this->_user->salt); //退出 // $this->auth->logout() //真實(shí)刪除 // $this->auth->delete($user_id) //查看報(bào)錯(cuò) // $this->auth->getError()
php的公共構(gòu)造方法使用 驗(yàn)證權(quán)限
//權(quán)限驗(yàn)證 $this->auth = Auth::instance($init, $usertable); $this->request = Request::instance(); // token $token = $this->request->server('HTTP_TOKEN'); $controllername = $this->request->controller(); $actionname = $this->request->action(); $path = str_replace('.', '/', $controllername) . '/' . $actionname; $this->auth->setRequestUri($path); // 檢測是否需要驗(yàn)證登錄 if (!$this->auth->match($this->noNeedLogin)) { //初始化 $this->auth->init($token); //檢測是否登錄 if (!$this->auth->isLogin()) { return $this->error('Please login first', null, 401); } // 判斷是否需要驗(yàn)證權(quán)限 if (!$this->auth->match($this->noNeedRight)) { // 判斷控制器和方法判斷是否有對(duì)應(yīng)權(quán)限 if (!$this->auth->check($path)) { return $this->error('You have no permission', null, 403); } } } else { // 如果有傳遞token才驗(yàn)證是否登錄狀態(tài) if ($token) { $this->auth->init($token); } } var_dump($this->auth->getUser());`
- real-apidoc基于tp6的api生成模塊
- 第6章:數(shù)字輸入/輸出模塊(I/O) 20次下載
- TP4100,TP4101,TP4102
- 愛華微膠囊記錄器TP-M725/TP-M525數(shù)據(jù)手冊(cè) 1次下載
- 基于權(quán)限的Android應(yīng)用風(fēng)險(xiǎn)評(píng)估方法 11次下載
- MPLAB REAL ICE在線仿真器功率監(jiān)視器開發(fā)工具的詳細(xì)中文資料概述
- MPLAB REAL ICE在線仿真器功率監(jiān)視器的介紹和使用指南詳細(xì)概述
- MPLAB REAL ICE 在線仿真器JTAG適配器的中文使用說明書
- shiro簡單教程,環(huán)境搭建,權(quán)限控制,登陸驗(yàn)證 9次下載
- 基于ThinkPHP的權(quán)限控制模塊的設(shè)計(jì)與實(shí)現(xiàn)許宏云 0次下載
- 提升權(quán)限模塊 4次下載
- Connecting_Real_People_with_Real_Solutions 5次下載
- M25PE20-VMN6TP數(shù)據(jù)手冊(cè) 32次下載
- LabVIEW Real-Time模塊發(fā)行和升級(jí)說明 23次下載
- PLM系統(tǒng)中數(shù)據(jù)權(quán)限控制研究 0次下載
- linux權(quán)限管理詳解 154次閱讀
- Linux用戶身份與進(jìn)程權(quán)限詳解 403次閱讀
- 前端大倉monorepo權(quán)限設(shè)計(jì)思路和實(shí)現(xiàn)方案 776次閱讀
- 一個(gè)輕量級(jí)的權(quán)限認(rèn)證框架:Sa-Token 2203次閱讀
- 萬興PDF密碼如何查看列出的權(quán)限 1031次閱讀
- FPGA原型驗(yàn)證系統(tǒng)中復(fù)制功能模塊的作用 722次閱讀
- Linux基礎(chǔ)的用戶權(quán)限 757次閱讀
- 基本的Linux權(quán)限模型以及chmod 777含義 2655次閱讀
- 權(quán)限框架jcasbin的角色權(quán)限配置 1433次閱讀
- 權(quán)限系統(tǒng)中的數(shù)據(jù)權(quán)限設(shè)計(jì)經(jīng)驗(yàn)分享 1682次閱讀
- 基于使用TP-4056模塊制造鋰離子電池充電器設(shè)計(jì) 6128次閱讀
- .NET MVC身份驗(yàn)證訪問權(quán)限控制設(shè)計(jì) 2074次閱讀
- 基于Katalon Studio的接口測試試驗(yàn)token的驗(yàn)證 5445次閱讀
- WO TOKEN錢包是什么東西?WO TOKEN錢包詳細(xì)資料白皮書介紹 4.2w次閱讀
- 淺談Linux權(quán)限管理的ACL權(quán)限 8983次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多