laravel 手寫RBAC控制

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();
        $uid=$session->get("uid");
        $data=DB::table('username')
            ->where('uid',$uid)->get();
        $data=json_decode(json_encode($data),true);
        
       foreach($data as $k=>$v){
            $arr[]=$v['content']."/".$v['method'];
        }
        
        if(!in_array($controller."/".$action,$arr)){
            echo "<script>alert('沒有權限,請前去登錄!!!!');location.href='login_index'</script>";
        }
    }



}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章