У меня есть панель управления, в которой у меня несколько пользователей, я хотел бы, чтобы единственный администратор мог редактировать или удалять информацию о пользователе, обычный пользователь должен иметь возможность редактировать / удалять свою учетную запись.
Здесь это то, что я пробовал до сих пор
Промежуточное ПО для администратора
use Closure;
use Auth;
class IsAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::user() && Auth::user()->admin == 1) {
return $next($request);
}
return redirect('/home');
}
}
Вот тело таблицы users.index, где я отображаю данные
<tbody>
@foreach($users as $user)
<tr>
<td>
{{ $user->name }}
</td>
<td>
{{ $user->email }}
</td>
<td>
{{ $user->created_at->format('Y-m-d') }}
</td>
<td class="td-actions text-right">
@if ($user->is_admin != auth()->id())
<form action="{{ route('user.destroy', $user) }}" method="post">
@csrf
@method('delete')
<a rel="tooltip" class="btn btn-success btn-link" href="{{ route('user.edit', $user) }}" data-original-title="" title="">
<i class="material-icons">edit</i>
<div class="ripple-container"></div>
</a>
<button type="button" class="btn btn-danger btn-link" data-original-title="" title="" onclick="confirm('{{ __("Are you sure you want to delete this user?") }}') ? this.parentElement.submit() : ''">
<i class="material-icons">close</i>
<div class="ripple-container"></div>
</button>
</form>
@else
<a rel="tooltip" class="btn btn-success btn-link" href="{{ route('profile.edit') }}" data-original-title="" title="">
<i class="material-icons">edit</i>
<div class="ripple-container"></div>
</a>
@endif
</td>
</tr>
@endforeach
Данные из таблицы выглядят вот так
#original: array:9 [▼
"id" => 2
"name" => "Royaladd"
"email" => "kaczkapojebana@gmail.com"
"email_verified_at" => null
"password" => "$2y$10$3SIVxXu/SyF0vdavnV.DTOcljEqlhAH5J6LV.KmCezdQ4XA11N5m."
"remember_token" => null
"created_at" => "2020-02-12 10:36:40"
"updated_at" => "2020-02-12 10:36:40"
"is_admin" => 0
]
К сожалению, в приведенном выше решении любой пользователь может редактировать или удалять пользовательские фрагменты информации.
Что мне нужно сделать, чтобы добиться того, чего я хочу?