Hola, estoy ayudando a un amigo con un trabajo, a el le hicieron el desarrollo de un sitio en laravel y este sitio tiene unos artículos que estan restringidos a usuarios registrados, el quiere dejar el contendio abierto pero la persona que le realizó el desarrollo no aparece, nosotros tenemos acceso al servidor y a las claves pero no sabemos como hacerlo. Alguien nos puede ayudar?
Gracias
Hola Carlos,
En general esas restricciones las harías creando un middlware y aplicándolo en una ruta. En Laravel estas rutas las podés encontrar en la carpeta "routes". Ahí vas a ver varios archivos php, siendo "web.php" y "api.php" los más usados.
Por ejemplo si quisieras que solo los usuarios loggeados puedan acceder a la ruta "/ejemplo" entonces en el archivo /routes/web.php podrías definir esta ruta:
Route::middleware(["auth"])->group(function() {
Route::get("/ejemplo", [EjemploController::class, "index"]);
});
En este caso el nombre del middleware es "auth" y el mismo se aplica a todas las rutas dentro de function () {}
obligando al usuario a iniciar sesión para acceder.
Para eliminar esa restricción podés dejar el middleware vacío. Por ejemplo:
Route::middleware([])->group(function () {
Route::get("/ejemplo", [EjemploController::class, "index"]);
});
Pero si el controlador recibe información del usuario loggeado para mostrar el recurso entonces al acceder a esa ruta sin loggearte te dará un error.
Para resolver esto último tendrías que agregar algo más de detalle sobre el proyecto para que pueda orientarte mejor, empezando por la descripción del error que te de la aplicación.
Espero que te sirva. Saludos!,