Create profiles in laravel application

5

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.

    
asked by anonymous 11.10.2017 / 12:58

2 answers

1

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
            }

        }
    
11.10.2017 / 14:37
2

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);
       }
    
11.10.2017 / 13:48