проблемаLaravel 5.3 Защитные маршруты из пользователей имеют различные роли
Я ищу способ, чтобы защитить пользователей от подъездных путей, которые не принадлежат им, например, администратор не может получить доступ к пользовательской области и простой пользователь не может получить доступ админку
Привет, я имею в Laravel 5.3 приложения и имеет два типа пользователей
- админ
- Простой пользовательский
я пытаюсь предотвратить admin
доступ simple user
маршрутов и наоборот, я ищу много и нашел одно решение о создании промежуточного программного
, что я сделал
<?php
namespace App\Http\Middleware;
use Auth;
use Closure;
class UserRole
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::check()) // user logged
{
$request_url = $request->getRequestUri();
if(Auth::user()->user_type == 1) // simple user
{
// checking if simple user is visiting routes // starts with /user in the url
if (strpos($request_url, "/user") === 0)
{
return $next($request);
}
else
{
return redirect('/');
}
}
// checking if admin is visiting routes // starts with /admin in the url
else if(Auth::user()->user_type == 2) // admin
{
if (strpos($request_url, "/admin") === 0)
{
return $next($request);
}
else
{
return redirect('/');
}
}
else
{
return redirect('/');
}
}
return redirect('/');
}
}
, к сожалению, оба имеют доступ к другим ограниченным областям. Я не могу найти лучший способ защитить пользователя от доступа к маршрутам, к которым у них тоже нет доступа.