TheSilva7 1 month ago
parent
commit
ec719b859e
  1. 6
      app/Http/Controllers/Auth/LoginController.php
  2. 4
      app/Http/Controllers/UserDashboardController.php
  3. 2
      app/Http/Middleware/AdminMiddleware.php
  4. 1
      app/Models/User.php
  5. 13
      app/Providers/AuthServiceProvider.php
  6. 7
      routes/web.php

6
app/Http/Controllers/Auth/LoginController.php

@ -40,10 +40,10 @@ class LoginController extends Controller
protected function authenticated($request, $user) protected function authenticated($request, $user)
{ {
if ($user->tipos_id == 1) { // Administrador if ($user->tipos_id == 1) {
return redirect('/dashboard');
} elseif ($user->tipos_id == 4) { // Servicios Generales
return redirect('/dashboard'); return redirect('/dashboard');
} elseif ($user->tipos_id == 2) {
return redirect('/user-dashboard');
} else { } else {
return redirect('/home'); return redirect('/home');
} }

4
app/Http/Controllers/UserDashboardController.php

@ -13,8 +13,8 @@ class UserDashboardController extends Controller
public function index() public function index()
{ {
// Permitir acceso solo a usuarios con tipos_id == 2 (Servicios Generales) // Permitir acceso solo a tipo 1 (Administrador)
if (auth()->user()->tipos_id != 2) { if (auth()->user()->tipos_id != 1) {
return redirect('/')->with('error', 'No tienes permiso para acceder a esta sección'); return redirect('/')->with('error', 'No tienes permiso para acceder a esta sección');
} }

2
app/Http/Middleware/AdminMiddleware.php

@ -15,7 +15,7 @@ class AdminMiddleware
*/ */
public function handle(Request $request, Closure $next): Response public function handle(Request $request, Closure $next): Response
{ {
if (!auth()->check() || auth()->user()->tipo->nombre !== 'Administrador') { if (!auth()->check() || auth()->user()->tipos_id != 1) {
return redirect('/')->with('error', 'No tienes permisos para acceder a esta página.'); return redirect('/')->with('error', 'No tienes permisos para acceder a esta página.');
} }

1
app/Models/User.php

@ -28,7 +28,6 @@ class User extends Authenticatable
'departamento_id', 'departamento_id',
'telefono', 'telefono',
'password', 'password',
'rol',
]; ];

13
app/Providers/AuthServiceProvider.php

@ -21,11 +21,12 @@ class AuthServiceProvider extends ServiceProvider
* Register any authentication / authorization services. * Register any authentication / authorization services.
*/ */
public function boot(): void public function boot(): void
{ {
$this->registerPolicies(); $this->registerPolicies();
Gate::define('gestionar-prestamos', function ($user) { Gate::define('gestionar-prestamos', function ($user) {
return in_array($user->tipos_id, [1, 4]); // 1 para admin, 4 para servicios // Permitir solo a tipos_id 1 (Administrador) y 4 (Servicios Generales), agrega más si lo deseas
}); return in_array($user->tipos_id, [1, 4]);
} });
}
} }

7
routes/web.php

@ -97,13 +97,6 @@ use App\Http\Controllers\PuestoController;
Route::get('/home', [HomeController::class, 'index'])->name('home'); Route::get('/home', [HomeController::class, 'index'])->name('home');
}); });
// Rutas para profesores
Route::middleware(['auth', 'profesor'])->prefix('profesor')->name('profesor.')->group(function () {
Route::get('/solicitudes', [SolicitudVehiculoController::class, 'index'])->name('solicitudes.index');
Route::get('/solicitudes/create', [SolicitudVehiculoController::class, 'create'])->name('solicitudes.create');
Route::post('/solicitudes', [SolicitudVehiculoController::class, 'store'])->name('solicitudes.store');
});
// Ruta para el dashboard de usuarios // Ruta para el dashboard de usuarios
Route::get('/user-dashboard', [App\Http\Controllers\UserDashboardController::class, 'index'])->name('user.dashboard'); Route::get('/user-dashboard', [App\Http\Controllers\UserDashboardController::class, 'index'])->name('user.dashboard');

Loading…
Cancel
Save