色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>real-token基于tp6的權限驗證模塊

real-token基于tp6的權限驗證模塊

2022-06-29 | zip | 0.02 MB | 次下載 | 免費

資料介紹

授權協(xié)議 BSD
開發(fā)語言 PHP
軟件類型 開源軟件

軟件簡介

基于 tp6 的權限驗證模塊,參考 fastadmin 的 普通模塊

目錄結構

  • token/Driver.php規(guī)范token的方法和功能
  • token/driver/Mysql token的數(shù)據(jù)庫驅動
  • token/driver/Redis token的Redis驅動
  • token.php token的鏈接token驅動并執(zhí)行驅動的方法
  • auth.php 權限管理類

數(shù)據(jù)庫

如果多模塊的話,需要建立對應的用戶表、用戶分組表、用戶權限表

/*
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 '連續(xù)登錄天數(shù)',
  `maxsuccessions` int(10) unsigned NOT NULL DEFAULT '1' COMMENT '最大連續(xù)登錄天數(shù)',
  `prevtime` int(10) DEFAULT NULL COMMENT '上次登錄時間',
  `logintime` int(10) DEFAULT NULL COMMENT '登錄時間',
  `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 '加入時間',
  `createtime` int(10) DEFAULT NULL COMMENT '創(chuàng)建時間',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新時間',
  `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 '驗證',
  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='會員表';

-- ----------------------------
-- 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 '權限節(jié)點',
  `createtime` int(10) DEFAULT NULL COMMENT '添加時間',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新時間',
  `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='會員組表';

-- ----------------------------
-- 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 '標題',
  `remark` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '備注',
  `ismenu` tinyint(1) DEFAULT NULL COMMENT '是否菜單',
  `createtime` int(10) DEFAULT NULL COMMENT '創(chuàng)建時間',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新時間',
  `weigh` int(10) DEFAULT '0' COMMENT '權重',
  `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='會員規(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 '會員ID',
  `createtime` int(10) DEFAULT NULL COMMENT '創(chuàng)建時間',
  `expiretime` int(10) DEFAULT NULL COMMENT '過期時間',
  PRIMARY KEY (`token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='會員Token表';
 

引用

下載到tp6的extend\jmwl下

use jmwl\realjwt\Token;
use jmwl\realjwt\Auth;

驅動和配置

  $init= [
           // 驅動方式
           'type'     => 'Mysql',
           'table'     =>"admin_token",//如果是Mysql使用的存儲token的表名
           
           'userprefix'=>"up:",//如果是Redis使用的存儲用戶名前綴
           'tokenprefix'=>"tp:",//如果是Redis使用的存儲token前綴
           // 緩存前綴
           'key'      => '30tvUyXl8NkOx7YKDAoLu5FQRIGTh4qa',
           // 加密方式
           'hashalgo' => 'ripemd160',
           // 緩存有效期 0表示永久緩存
           'expire'   => 0,
       ];  
       $usertable="admin";//用戶表名,自動對應用戶分組表、用戶權限表 如用戶表名:admin,那么用戶分組名:admin_group,用戶權限表:admin_rule

token類的使用和功能

這里基本不會用到,主要用的是auth類

   /**
       
       Token::init($init);
       
       //判斷Token是否可用
       Token::check($token, $user_id);
       //獲取Token內的信息
       Token::get($token, $default = false);
       //寫入Token
       Token::set($token, $user_id, $expire = null);
       //刪除Token
       Token::delete($token);
       //清除Token
       Token::clear($user_id = null);

auth的羈絆用法

基礎用法

              //登錄
              // $;
              // $; 
              //  $this->auth->login($username, $password);
              //   $this->auth->getUser()
              // $this->auth->getUserinfo()
              //讀取當前token
              // $this->auth->getToken()
              // 判斷是否登錄
              // $this->auth->isLogin()
              //獲取會員組別規(guī)則列表
              // $this->auth->getRuleList() 
                
              // 設置當前請求的URI
              // $controllername= $this->request->controller();  
              // $actionname= $this->request->action();  
              // $path = str_replace('.', '/', $controllername) . '/' . $actionname;
              // $this->auth->setRequestUri($path);  
              // 獲取當前請求的URI
              // $this->auth->getRequestUri()
              //檢測是否是否有對應權限
              // $this->auth-> check($path)
              //根據(jù)Token初始化
              //  $;
              //  $this->auth->init($token);
              //注冊
              // $;
              // $; 
              // $email = '18354393242@163.com';
              // $mobile= '18354393243';
              // $this->auth-> register($username, $password, $email, $mobile, $extend = [])
              //加密密碼
              //$this->auth->getEncryptPassword($oldpassword, $this->_user->salt);
              //退出
               //  $this->auth->logout()
               //真實刪除
              //  $this->auth->delete($user_id)
              
              //查看報錯
              // $this->auth->getError()  
?

php的公共構造方法使用 驗證權限

      //權限驗證
      $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);
      // 檢測是否需要驗證登錄
      if (!$this->auth->match($this->noNeedLogin)) {

          //初始化
          $this->auth->init($token);
          //檢測是否登錄
          if (!$this->auth->isLogin()) {

              return $this->error('Please login first', null, 401);
          }
          // 判斷是否需要驗證權限
          if (!$this->auth->match($this->noNeedRight)) {
              // 判斷控制器和方法判斷是否有對應權限
              if (!$this->auth->check($path)) {
                  return $this->error('You have no permission', null, 403);
              }
          }
      } else {

          // 如果有傳遞token才驗證是否登錄狀態(tài)
          if ($token) {
              $this->auth->init($token);
          }
      }
      var_dump($this->auth->getUser());`
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 成人国产一区| 国产乱码卡二卡三卡4W| 国内精品伊人久久久久| 亚洲 小说 欧美 激情 另类| 凤楼app| 少妇高潮久久久久7777 | 亚洲国产精品无码中文在线| 国语自产视频在线不卡| 影音先锋亚洲AV少妇熟女| 麻豆文化传媒一区二区| 99国产电影| 日本久久免费大片| 国产精品亚洲欧美| 亚洲精品无码不卡| 久久国产精品人妻中文| 1区2区3区4区产品不卡码网站| 暖暖视频免费观看视频| 肉肉的各种姿势高H细文| 动漫美女喷水| 亚洲伊人久久综合影院2021| 恋夜影院安卓免费列表uc | 色窝窝777欧美午夜精品影院| 国产精品内射久久久久欢欢| 无遮挡h肉3d动漫在线观看| 果冻传媒mv国产陈若瑶主演| 伊人香蕉在线播放视频免费| 麻豆免费高清完整版| 成人在无码AV在线观看一| 十8禁用B站在线看漫画| 国语自产精品一区在线视频观看| 最近免费中文字幕大全免费| 欧美另类与牲交ZOZOZO| 国产精品丰满人妻AV麻豆| 色婷婷国产精品视频一区二区| 大香交伊人| 直插下身完整的欧美版| 嫩小xxxxbbbb| 狠狠狠色丁香婷婷综合久久| 肉多的小说腐小说| 久久亚洲高清观看| 国产国拍亚洲精品av麻豆|