I need to modify my laravel application so that each user can see their particular content, since each user will have their own information. I already configured the default authentication using make auth and it works fine.
I need to modify my laravel application so that each user can see their particular content, since each user will have their own information. I already configured the default authentication using make auth and it works fine.
Here is an example where I display the user services.
class ServicoController extends Controller {
private $usuario;
public function __construct()
{
$this->middleware('auth');
$this->middleware(function($request, $next){
$this->usuario = auth()->user(); //Aqui você pega o usuario logado
return $next($request);
});
public function index(){
$servico = Servico::where('user_id',$this->usuario->id)->get(); // Com isso você vai sempre buscar (como no meu caso) os serviços do usuário logado, ou seja, nessa rota cada usuário só vai conseguir ver seus serviços
}
}
Now you need to create middleware to restrict page access; put the following code inside the constructor of your controller.
$this->middleware(function($request, $next) {
if(auth()->user()->id == $sua_variavel_do_usuario_dono_do_perfil){
retrun redirect('/outra-pagina'); // se o usuario não for o mesmo do perfil ele é redirecionado para outra página.
}
return $next($request);
}