2017-11-06 2 views
1

に私はこのようないくつかのゲートします:エラー "この操作は不正です。" Laravel 5.5

Gate::define('update-post', function ($user, Post $post) { 
      return $user->hasAccess(['update-post']) or $user->id == $post->user_id; 
}); 

が、私は自分のデータベースをチェックし、それを更新・ポストへのアクセスとユーザーIDを持っているポストの場合と同じです。しかし、私は「この行為は許可されていません。エラー。私はここでいくつかの間違いをしていますか?ありがとう。

答えて

2

データ検証用にカスタムリクエストを使用すると(たとえばphp artisan make:request UpdateUserRequestを使用して)、私は同じ問題を抱えています。あなたがデータを検証するためのカスタム要求を使用している場合は、最初にすべての、あなたが渡すことができるように、正しいルールを設定することを確認してください。

namespace App\Http\Requests\Users; 

use Illuminate\Foundation\Http\FormRequest; 

class UpdateUserRequest extends FormRequest 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     // By default it returns false, change it to something like 
     // this if ure using auth 
     return Auth::check(); 
    } 
// then your validations.. 
+0

あなたは正しいです、私は許可された機能を設定するのを忘れました。ありがとう。 – Ying

+0

@Henraは喜んで助けます。 – HCK

0

をあなたが「認可」方法にを返すことを確認してください

public function authorize() 
{ 
    return true; 
} 
関連する問題