首頁 php框架 ThinkPHP Thinkphp5中auth權限設定以及實現

Thinkphp5中auth權限設定以及實現

Jul 27, 2020 pm 01:23 PM
auth thinkphp5

下面由thinkphp框架教學欄位來介紹Thinkphp5中auth權限設定以及實現,希望對需要的朋友有幫助!

Thinkphp5中auth權限設定以及實現

1. 將auth類別下載好放置目錄:extend\auth\auth.php

2.將類別中的SQL語句執行,可以在資料庫中建立3張表 auth_group(使用者群組表)           auth_rule(權限規則表)           auth_group_access(使用者與使用者群組關係表)

#3.極分類)   auth_rule(權限規則表) 中添加3個字段  pid(父級id ,0為頂級權限)   level(級別)    sort(排序),如下圖

4,首先自己建立管理員表,例如叫admin表,增刪改查自己去正常設計,group欄位為所屬使用者群組

5.auth_group使用者群組的增刪改查也自己去製作一下,id,用戶群組名稱,狀態(開啟,或關閉),規則(所對應的是規則表的id)

6 .auth_rule規則表增刪改查也自己去製作一下,id,name(控制器/方法),title(規則名稱)  status狀態(開啟,或關閉),

 

#7. 在新增使用者的時候給使用者選擇所屬使用者群組, uid(對應的是使用者id)   group_id(對應的是使用者所屬使用者群組的id),這樣就關聯起來了

8.把會員登陸功能做好,登陸成功設定session('id'),將目前登陸會員ID存在session中

#9.最關鍵的的一步,就是使用auth類別進行驗證,在common.php這個公共頁面中使用

<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
use auth\Auth; //引入suth类
class Common extends Controller
{
    public function _initialize(){
      //初始化判断用户是否已经登陆
      if(!session(&#39;uname&#39;)){
          $this->error(&#39;请先登陆系统!&#39;,&#39;login/index&#39;);
        }


        //获得当前页面的控制器 / 方法
       $request=Request::instance();
       $moudle=$request->module(); //获取当前控制器名称
       $con=$request->controller(); //获取当前控制器名称
       $action=$request->action();  //获取当前方法名称
       $this->assign(array(
               &#39;con&#39;=>$con,
               &#39;action&#39;=>$action,
       ));

       $rules=$con.&#39;/&#39;.$action;  //组合  控制器/方法
       $auth=new Auth(); //实例化auth类
       $notCheck=array(&#39;Index/index&#39;);  //都可以访问的页面
       if(session(&#39;uid&#39;)!=1){  //不是超级管理员才进行权限判断
          if(!in_array($rules,$notCheck)){  // 是否在开放权限里面
              if(!$auth->check($rules,session(&#39;uid&#39;))){   // 第一个参数  控制/方法   第二个参数:当前登陆会员的id
                 $this->error(&#39;没有权限&#39;,&#39;index/index&#39;);
               };
           }
        }




       }
登入後複製

最終展示;

############################### ################ ####

以上是Thinkphp5中auth權限設定以及實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
寶塔部署thinkphp5報錯怎麼辦 寶塔部署thinkphp5報錯怎麼辦 Dec 19, 2022 am 11:04 AM

寶塔部署thinkphp5報錯的解決方法:1、開啟寶塔伺服器,安裝php pathinfo擴充並啟用;2、設定「.access」文件,內容為「RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]」;3、在網站管理裡面,啟用thinkphp的偽靜態即可。

thinkphp5 url重寫不行怎麼辦 thinkphp5 url重寫不行怎麼辦 Dec 12, 2022 am 09:31 AM

thinkphp5 url重寫不行的解決方法:1、查看httpd.conf設定檔中是否載入了mod_rewrite.so模組;2、將AllowOverride None中的None改為All;3、修改Apache設定檔.htaccess為「RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]」保存即可。

Java API 開發中使用 Auth0 進行身分認證 Java API 開發中使用 Auth0 進行身分認證 Jun 18, 2023 pm 05:30 PM

在現代軟體開發中,身分認證是一項非常重要的安全措施。 Auth0是一家提供身分認證服務的公司,它可以幫助開發者快速實現多種身分認證方式(包括OAuth2、OpenIDConnect等),並提供安全可靠的認證服務。在本文中,我們將介紹如何在JavaAPI開發中使用Auth0進行身份認證。第一步:建立Auth0帳號並註冊應用程式首先,我們需要在

怎麼去除thinkphp5標題欄icon 怎麼去除thinkphp5標題欄icon Dec 20, 2022 am 09:24 AM

移除thinkphp5標題列icon的方法:1、找到thinkphp5框架public下的favicon.ico檔案;2、刪除該檔案或選擇另一張圖片命名改為favicon.ico,並取代原favicon.ico檔案即可。

thinkphp5 post不值怎麼辦 thinkphp5 post不值怎麼辦 Dec 06, 2022 am 09:29 AM

thinkphp5 post無法得到值是因為TP5是透過strpos函數在Header的content-type值中找出app/json字串的,其解決辦法就是設定Header的content-type值為app/json即可。

thinkphp5怎麼取得請求過來的網址 thinkphp5怎麼取得請求過來的網址 Dec 20, 2022 am 09:48 AM

thinkphp5取得請求網址的方法:1.使用「\think\Request」類別的「$request = Request::instance();」方法取得目前的url資訊;2、透過自帶的助手函數「$request-> url()」取得包含網域的完整URL位址。

Vue3中如何使用Supabase Auth方法 Vue3中如何使用Supabase Auth方法 May 28, 2023 am 08:39 AM

引言Supabase是一個自稱的"開源Firebase替代品"。我對與Supbase合作已經有一段時間了,我想我將嘗試使用他們的認證API來為Vue.js3應用程式進行認證設定。首先,為什麼要使用SupabaseAuth?最重要的是,如果你使用Supabase作為你的資料存儲,(它有一些非常甜蜜的好處),SupabaseAuth是你可以管理對這些資料的存取的唯一方法。其次,雖然SupabaseAuth也有許多不同的功能。沒有中間件的使用者權限(透過Postgres的行級安全)

使用 Auth0 實作 PHP 安全驗證 使用 Auth0 實作 PHP 安全驗證 Jul 25, 2023 pm 02:09 PM

使用Auth0實作PHP安全驗證引言:在現代的Web開發中,安全驗證是至關重要的一部分。為了保護使用者的隱私和資料安全,我們需要採取措施確保只有授權使用者才能存取敏感資訊或執行特定操作。 Auth0是一個流行的身份驗證和授權平台,它提供了簡單且強大的解決方案來幫助我們實現安全驗證。本文將介紹如何使用Auth0實作PHP的安全驗證,並提供程式碼

See all articles