2016-11-01 4 views
2

Laravel과 sentinel을 사용하여 권한 시스템을 개발하고 있지만 사용자가 확인란 양식에서 역할의 권한을 선택하거나 선택 취소 할 수 있도록 설계되었습니다. 이미 권한을 할당 할 수있는 부분을 코딩했습니다. 그러나 사용자가 페이지를 요청할 때 이미 할당 된 확인란이 표시되어 있어야합니다. 어떻게 접근 할 것을 권장합니까? 미들웨어를 사용 중입니다.laravel에서 다른 데이터로보기 미리로드하기

<?php 

namespace App\Http\Middleware; 

use Closure; 
use Cartalyst\Sentinel\Laravel\Facades\Sentinel; 

class PermissionsMiddleware 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 

    public function handle($request, Closure $next) 
    { 
     $user = Sentinel::findById(1); 
     $permisos = array(array_keys($user['permissions'])) 

     return $next($request); 
    } 
} 

그러나 미들웨어에서보기로 데이터를 전달하는 방법을 모르겠습니다.

답변

0

는 나는이 목적을 위해 미들웨어를 사용하는 것이 좋습니다 생각하지 않지만 당신은 아직도 당신이 사용하려고 할 수있는 방법으로 수행하려는 경우 :

View::share ('permisos', $permisos); 

가 볼 수있는 'permisos'변수를 공유하기를 그것은 미들웨어를 뒤 따르고 있습니다.

그래서 코드는 다음과 같이 할 것입니다 :

<?php 

namespace App\Http\Middleware; 

use Closure; 
use Cartalyst\Sentinel\Laravel\Facades\Sentinel; 

class PermissionsMiddleware 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @return mixed 
    */ 

    public function handle($request, Closure $next) 
    { 
     $user = Sentinel::findById(1); 
     $permisos = array(array_keys($user['permissions'])) 
     View::share ('permisos', $permisos); 

     return $next($request); 
    } 
} 
+0

이 앱 \ HTTP는 미들웨어 \보기 \ 반환하지만 당신은 무엇을 사용해야합니까? – Mntfr

+0

어떤 클래스를 사용 했습니까? –

+0

아니요,보기 자체에서 데이터를 가져 오는 방법은 무엇입니까? – Mntfr