0

以下のシナリオを検討してください。

  • システムに登録したユーザーは 2 人です。
  • ユーザー 1 がログインしており、ユーザー 2 のプロファイルを更新しようとした場合。許可されるべきではありません。

Request クラスを使ってみました。

use App\Http\Requests\Request;
use Auth;
use App\User;

class ProfileRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        $routeUser  = $this->route('userId');
        if($routeUser->id == Auth::user()->id){
            return true;
        }
        else{
            abort(403);
        }
    }
}

問題:すべての情報を含むフォームが表示されます。情報を更新しようとしたときにのみユーザーをブロックします。ユーザーをブロックして、データを含むフォームを表示することさえできないようにする方法は??

4

1 に答える 1

0

Laravel ACL を使用して、役割ごとのユーザー アクセスを管理します。ロールごとのアクセスを使用することにより、承認されたユーザーのみが自分のアカウントにアクセスしていくつかのことを行うことができます。

Laravel ACL ドキュメント

于 2016-09-22T09:46:21.627 に答える