1

Laravel コードを委託しようとしています。現時点では、ユーザー、権限、役割があります。

"permissions" == "admin - panel" にアクセスしたい管理パネルを作成します

私はそれがファイルroutes.phpによって行われたことを望みます

私のファイル: Middleware/EntrustMiddleware.php

class EntrustMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (!Entrust::can('admin-panel')) {
        return Redirect::to('home');
        }
        return $next($request);
    }
}

ルート.php

Route::get('admin-panel', ['middleware' => ['auth', 'Entrust'], function () {

}]);

多くの方法を試しましたが、まだうまくいきません。ファイル「routes.php」を設定して「admin-panel/」にアクセスする方法を誰でも提案できますか「permissions」==「admin-panel」の場合のみでした

- 編集 -

この方法を使用すると、エラーが発生します。

Route::group(['middleware' => ['Entrust']], function () {
    //put your routes here
    Route::get('/admin', 'Admin\AdminController@index');
});

Pipeline.php 行 136 の ErrorException: call_user_func_array() は、パラメーター 1 が有効なコールバックであることを期待しています。クラス 'Zizaco\Entrust\EntrustFacade' にはメソッド 'handle' がありません

--edit2--

['middleware' => ['permission:NAME']]

今分かります :)

Contoler に追加のセキュリティを追加する必要がありますか?

4

1 に答える 1

1

を使用している場合、特定の へのアクセスを許可したいentrustすべてのものに対して、それをグループに入れるだけで済みます。routesroles

Route::group(['middleware' => ['add roles name here']], function () {
  //put your routes here
});
于 2016-06-02T13:47:06.013 に答える