Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. <?php
  2.  
  3. // ACCESO
  4. Route::get('/', 'AccesoController@index');
  5. Route::post('/login', 'AccesoController@login')->name('login');
  6. Route::get('/logout', 'AccesoController@logout')->name('logout');
  7.  
  8.  
  9. Route::get('/archivo/archivos_palabra/{idModulo}', 'ArchivoController@index')->name('archivo');
  10.  
  11. // MODULOS
  12. Route::group(['middleware' => ['verifica_session', 'verifica_permiso']], function () {
  13.  
  14. // archivo
  15.  
  16. Route::post('/archivo/form', 'ArchivoController@form')->name('archivo.form');
  17. Route::post('/archivo/save', 'ArchivoController@save')->name('archivo.save');
  18. Route::post('/archivo/delete', 'ArchivoController@delete')->name('archivo.delete');
  19.  
  20.  
  21.  
  22. });
  23.  
  24. 'verifica_session' => AppHttpMiddlewareverificaSessionMiddleware::class,
  25. 'verifica_permiso' => AppHttpMiddlewareverificaPermisoMiddleware::class,
  26.  
  27. <?php
  28.  
  29. namespace AppHttpMiddleware;
  30.  
  31. use Closure;
  32. use Session;
  33.  
  34. class verificaPermisoMiddleware {
  35. /**
  36. * Handle an incoming request.
  37. *
  38. * @param IlluminateHttpRequest $request
  39. * @param Closure $next
  40. * @return mixed
  41. */
  42. public function handle($request, Closure $next) {
  43. $recurso = substr($request->getPathInfo(), 1);
  44.  
  45. $tienePermiso = ($recurso == 'principal' || $recurso == 'perfil');
  46.  
  47. if(!$tienePermiso) {
  48. foreach (session('recursos') as $objetoRecurso) {
  49.  
  50. if(starts_with($recurso, $objetoRecurso->nombreRecurso)) {
  51. if($objetoRecurso->esMenu) {
  52. Session::put('menu-item', ('menu-item-' . $objetoRecurso->nombreRecurso));
  53. }
  54. $tienePermiso = true;
  55. break;
  56. }
  57. }
  58. }
  59. if($tienePermiso) {
  60. return $next($request);
  61. } else {
  62. abort(403);
  63. }
  64. }
  65. }
  66.  
  67. <?php
  68.  
  69. namespace AppHttpMiddleware;
  70.  
  71. use Closure;
  72.  
  73. class verificaSessionMiddleware {
  74. /**
  75. * Handle an incoming request.
  76. *
  77. * @param IlluminateHttpRequest $request
  78. * @param Closure $next
  79. * @return mixed
  80. */
  81. public function handle($request, Closure $next) {
  82. if(session('username')) {
  83. return $next($request);
  84. } else {
  85. return redirect('/');
  86. }
  87.  
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement