2017-04-20 14 views
1

私はバックパックを使用して自分のプロジェクトに管理パネルを作成しています。私はSuperadminと2番目のユーザーの2つのタイプがあります管理者です。 ..だから自分で作成したそれらの行を削除し、一覧表示、laravelのバックパックのユーザーログインに基づいてデータを取得

を私はちょうど

...彼は一覧表示することができますよう、superadmin追加、データベースからすべての行を編集する権限を与えたいと思ったが、管理者のみが編集することができます私を助けてください、私はlaravelのバックパックで新しいですか?

答えて

0

エンティティのCrudControllerのsetup()メソッドで表示された結果をフィルタリングし、更新/破壊メソッドへのアクセスを禁止します。

あなたの結果は次のようになります:

public function setup() 
{ 
    // take care of LIST operations 
    if (\Auth::user()->hasRole('admin')) { 
     $this->crud->addClause('where', 'author_id', '=', \Auth::user()->id); 
    } 
} 

はまた、あなたは管理者が他の誰かのエントリを削除することができないように、あなたのupdate()destroy()メソッド内でチェックを配置する必要があります。

// place this both inside your update() and inside your destroy() method 
if (\Auth::user()->hasRole('admin') && $this->crud->entry->author_id!=\Auth::user()->id) { 
    abort(405); 
} 

希望します。

+0

あなたの答えはありません。しかし、私はちょうど編集ページを表示したくありません。では、このチェックをどこに置くべきですか? –

+0

とそれもエラーを示しています - 私は$ this-> crud-> entry_created_byと書く行の非オブジェクトのプロパティを取得しようとしています.. pleseは私に孤独を与える –

関連する問題