Laravel - авторизация в контроллере - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь дать разрешение только для администратора, чтобы сделать какую-то работу в моем проекте. И когда я вхожу в систему как администратор и выполняю эту работу, он показывает мне 403 (Запрещено) ошибка Любая помощь gyus ?? это мой AuthserviceProvider. php:

    $this->registerPolicies();
    Gate::define('Admin', function($user){
        return $user->role === 'admin';
                });

и это мой taskController. php:

<?php

namespace App\Http\Controllers\API;
use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use App\Task;
use App\User;
use App\Projet;

use DB;
use phpDocumentor\Reflection\Types\Boolean;
use App\Notifications\NewTask;
class TaskController extends Controller
{
//
public function __construct()
{


}
public function store(Request $request){

  $this->authorize('Admin');
    $task = new Task();
    $task->projet_id=$request->key;
    $task->text = $request->text;
    $task->start_date = $request->start_date;
    $task->duration = $request->duration;
    $task->progress = $request->has("progress") ? $request->progress : 0;
    $task->parent = $request->parent;
    $task->sortorder = Task::max("sortorder") + 1;

    $task->save();

    return response()->json([
        "action"=> "inserted",
        "tid" => $task->id
    ]);
}

1 Ответ

0 голосов
/ 16 апреля 2020

назначьте это

используйте Освещение \ Поддержка \ Фасады \ Ворота;

затем

   public function store(Request $request){

        if (Gate::allows('Admin')) {

        $task = new Task();
        $task->projet_id=$request->key;
        $task->text = $request->text;
        $task->start_date = $request->start_date;
        $task->duration = $request->duration;
        $task->progress = $request->has("progress") ? $request->progress : 0;
        $task->parent = $request->parent;
        $task->sortorder = Task::max("sortorder") + 1;

        $task->save();

        return response()->json([
            "action"=> "inserted",
            "tid" => $task->id
       ]); 
       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...