1. 程式人生 > >laravel 框架中手寫rbac

laravel 框架中手寫rbac

<?php
/**
 * Created by PhpStorm.
 * User: 青春已被放縱了
 * Date: 2017/1/6
 * Time: 16:30
 */
namespace App\Http\Controllers;
use Route;
use Symfony\Component\HttpFoundation\Session\Session;
use DB;
class CommonController extends Controller{
public function __construct()
    {
$action = \Route::current()->getActionName();
list($class, $action) = explode('@', $action); $controller = substr(strrchr($class,'\\'),1); $controller=substr($controller,0,-10); $session = new Session; $u_id = $session->get("u_id"); // echo $u_id;die; $data=DB::table('u_r') ->leftJoin('r_p', 'u_r.r_id', '=', 'r_p.r_id') ->leftJoin(
'power', 'power.p_id', '=', 'r_p.p_id') ->where('u_id',$u_id) ->get(); $data=json_decode(json_encode($data),true); $power=$this->recursion($data); // print_r($power);die; foreach($power as $k=>$v){ $arr[]=$v['method']; } if(!in_array($controller."/".$action
,$arr)){ echo "<script>alert('沒有許可權,請前去登入!!!!');location.href='demo/laravel/public/'</script>"; // return redirect("/"); } } public function recursion($data,$path=0,$flag=1){ static $arr=array(); foreach($data as $key=>$val){ if($val['p_path']==$path){ $val['flag']=$flag; $arr[]=$val; $this->recursion($data,$val['p_id'],$flag+1); } } return $arr; } }

相關推薦

laravel 框架rbac

<?php /** * Created by PhpStorm. * User: 青春已被放縱了 * Date: 2017/1/6 * Time: 16:30 */ namespace

IDEA 一個SpringMVC框架

不說了直接上程式碼吧(裡面也有相應的說明)程式碼地址 https://github.com/dongfucai/handerMVC自己自己java 。如果有幫助,可以點贊,點星。有問題可以提出,一起學習改正。後面是設計思路梳理SpringMVC的設計思路       本文只實

Laravel框架的make方法詳解

option 節奏 構建 可能 特性 關系 翻譯 空數組 過程 為什麽網上已經有這麽多的介紹Laravel的執行流程了,Laravel的容器詳解了,Laravel的特性了,Laravel的啟動過程了之類的文章,我還要來再分享呢? 因為,每個人的思維方式和方向是不一樣的,所以

Laravel框架的event事件操作

clas smo php文件 cad ron div protect cache 框架 有時候當我們單純的看 Laravel 手冊的時候會有一些疑惑,比如說系統服務下的授權和事件,這些功能服務的應用場景是什麽,其實如果沒有經歷過一定的開發經驗有這些疑惑是很正常的事情,但是當

laravel框架的MySQL事務處理

整了半天沒明白事務為什麼會失敗!最後還是解決掉了,記錄一下,以防忘記,可以參考參考!!! public function index() { $UserModel = new User(); DB::beginTransaction(); //開啟事務 $o = $Use

Laravel框架常用PHP語法-匿名函式

Laravel框架之所以被稱為優雅的框架,是因為他在框架中使用大量的PHP新語法,包括名稱空間、匿名函式、反射機制、後期靜態繫結等,才使得Laravel框架顯得簡潔易擴充套件。 匿名函式 匿名函式(Anonymous functions)也叫閉包函式(Closure),

Laravel框架縮小webpack打包vue js的體積

轉載,原文: Laravel框架中縮小Vue應用的體積 https://www.codercto.com/a/12720.html laravel中 webpack打包生成的app.js居然有3M,生成的production版也有1.4M,放到伺服器上,首頁開啟要十幾秒(1M

spring事務(5)-----SpringIOC容器框架@Service和@Resource註解

一,xml方式 註解方式就不寫了,主要就是dom4j的解析。 二,註解方式 2.1,我們先來看一下spring自帶的寫法  spring.xml <beans xmlns="http://www.springframework.org/schema/beans" xml

laravel框架:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'

可能的原因: 第一:檢查以下你的編輯器的編碼是否設定為UTF-8;這是最容易忽略的原因之一。 第二:檢查以下你資料庫的varchar/char等相關欄位是否已經設定為utf8 如果用的是navicat,需要檢查兩個地方; 是否都已經設定: 實在不行就

laravel框架引入百度編輯器

第一步:先去這個https://ueditor.baidu.com/website/download.html 下載原始碼包   2.然後把他拉到laravel框架的public下  方便呼叫 3.開啟裡面的index頁面   把這

Laravel框架使用Service模式

若將商業邏輯都寫在controller,會造成controller肥大而難以維護,基於SOLID原則,我們應該使用Service模式輔助controller,將相關的商業邏輯封裝在不同的service,方便中大型專案的維護。 Version Laravel 5.1.22

laravel框架引入全域性錯誤碼以及相關報錯資訊

project\config\errorcode.php <?php /** * Created by PhpStorm. * User: DELL * Date: 2018/9/6 * Time: 10:28 */ return [ /*

Laravel框架整合MongoDB和使用:

* 推薦元件composer require jenssegers/mongodb ^3.3 -vvv(本人的laravel版本是5.5)修改config/app.php* 註冊服務Jenssegers\Mongodb\MongodbServiceProvider::clas

laravel框架使用mongodb資料庫

在laravel框架中使用mongodb,前提是你已經安裝好了mongodb及mongodb的php擴充套件。 沒有安裝的,具體可以參照部落格http://blog.csdn.net/turtleo

Laravel框架如何使用 Repository 模式

源:http://www.sangeng.org/blog/index/detail/id/518.html 若將資料庫邏輯都寫在model,會造成model的肥大而難以維護,基於SOLID原則,我們應該使用Repository模式輔助model,將相關的資料庫邏輯封裝在不同的repositor

Laravel框架如何使用Service模式

源:http://www.sangeng.org/blog/index/detail/id/519.html   若將商業邏輯都寫在controller,會造成controller肥大而難以維護,基於SOLID原則,我們應該使用Service模式輔助controller,將相關的商

Laravel框架列印sql

 在使用Laravel框架的時候,除錯的時候,需要將查詢的SQL輸出校驗,這是需要將SQL打印出來。 一、方法 DB::connection()->enableQueryLog();  // 開啟查詢日誌 DB::table('my_table')->insert($da

Laravel框架Blade模板的用法

1. 繼承、片段、佔位、元件、插槽 1.1 繼承 1、定義父模板 Laravel/resources/views/base.blade.php 2、子模板繼承 @extends('base') 1.2 片段 1、父模板定義片段 @section('part') // 中間內容即使是一個片段 @sh

Python(TensorFlow框架)實現數字識別系統

手寫數字識別演算法的設計與實現 本文使用python基於TensorFlow設計手寫數字識別演算法,並程式設計實現GUI介面,構建手寫數字識別系統。這是本人的本科畢業論文課題,當然,這個也是機器學習的基本問題。本博文不會以論文的形式展現,而是以程式設計實戰

laravel框架:Error 1366: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'content'

可能的原因: 第一:檢查以下你的編輯器的編碼是否設定為UTF-8;這是最容易忽略的原因之一。 第二:檢查以下你資料庫的varchar/char等相關欄位是否已經設定為utf8 如果用的是navicat,需要檢查兩個地方; 是否都已經設定: 實在不行就將utf8改成