Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Вот в доках описан такой мидлвер:
<?php
namespace App\Http\Middleware;
use Closure;
class Role
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
if (! $request->user()->hasRole($role)) {
return abort('403');
}
return $next($request);
}
}
Вот тут метод hasRole() получает роль , но так и не понял где этот метод прописать? Как я понял надо в модели User , но какой там должен быть код , писал
public function hasRole($role) {
return $this->role===$role;
}
Но не работает. Подскажите как его описать.
Да, в модели User. Код же может быть абсолютно разный и зависит от системы ролей в приложении. Если роль хранится в таблице users в столбце role, тогда твой код будет работать.
Не в сети
Страницы 1