以下のシナリオを検討してください。
- システムに登録したユーザーは 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);
}
}
}
問題:すべての情報を含むフォームが表示されます。情報を更新しようとしたときにのみユーザーをブロックします。ユーザーをブロックして、データを含むフォームを表示することさえできないようにする方法は??