Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Walter Felipe
submeta
Commits
5d8321f6
Commit
5d8321f6
authored
3 years ago
by
José Rômulo
Browse files
Options
Download
Email Patches
Plain Diff
Adicionando checagem multipla de tipo nas rotas
parent
69192e2f
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
app/Http/Kernel.php
+2
-0
app/Http/Kernel.php
app/Http/Middleware/checkRoles.php
+39
-0
app/Http/Middleware/checkRoles.php
routes/web.php
+3
-10
routes/web.php
with
44 additions
and
10 deletions
+44
-10
app/Http/Kernel.php
View file @
5d8321f6
...
@@ -65,6 +65,8 @@ class Kernel extends HttpKernel
...
@@ -65,6 +65,8 @@ class Kernel extends HttpKernel
'isTemp'
=>
\
App\Http\Middleware\IsTemp
::
class
,
'isTemp'
=>
\
App\Http\Middleware\IsTemp
::
class
,
'checkAdministrador'
=>
\
App\Http\Middleware\checkAdministrador
::
class
,
'checkAdministrador'
=>
\
App\Http\Middleware\checkAdministrador
::
class
,
'checkAdminResp'
=>
\
App\Http\Middleware\checkAdminResp
::
class
,
'checkAdminResp'
=>
\
App\Http\Middleware\checkAdminResp
::
class
,
'checkCoordenador'
=>
\
App\Http\Middleware\checkCoordenador
::
class
,
'checkRoles'
=>
\
App\Http\Middleware\checkRoles
::
class
,
];
];
/**
/**
...
...
This diff is collapsed.
Click to expand it.
app/Http/Middleware/checkRoles.php
0 → 100644
View file @
5d8321f6
<?php
namespace
App\Http\Middleware
;
use
Auth
;
use
Closure
;
use
Illuminate\Support\Facades\Log
;
class
checkRoles
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public
function
handle
(
$request
,
Closure
$next
,
...
$roles
)
{
if
(
!
Auth
::
check
()){
Log
::
debug
(
'checkRoles'
);
return
redirect
(
'/'
);
}
$user
=
Auth
::
user
();
/*
if($user->tipo == 'administrador'){
return $next($request);
}*/
foreach
(
$roles
as
$role
){
if
(
$user
->
tipo
==
$role
){
return
$next
(
$request
);
}
}
return
redirect
(
'home'
)
->
with
(
'error'
,
'Você não possui privilégios para acessar esta funcionalidade'
);
}
}
This diff is collapsed.
Click to expand it.
routes/web.php
View file @
5d8321f6
...
@@ -231,16 +231,9 @@ Route::prefix('evento')->name('evento.')->group(function(){
...
@@ -231,16 +231,9 @@ Route::prefix('evento')->name('evento.')->group(function(){
Route
::
post
(
'/criar'
,
'EventoController@store'
)
->
name
(
'criar'
)
->
middleware
(
'checkAdministrador'
);
Route
::
post
(
'/criar'
,
'EventoController@store'
)
->
name
(
'criar'
)
->
middleware
(
'checkAdministrador'
);
Route
::
get
(
'/visualizar/{id}'
,
'EventoController@show'
)
->
name
(
'visualizar'
)
->
middleware
(
'auth'
);
Route
::
get
(
'/visualizar/{id}'
,
'EventoController@show'
)
->
name
(
'visualizar'
)
->
middleware
(
'auth'
);
Route
::
get
(
'/listar'
,
'EventoController@listar'
)
->
name
(
'listar'
)
->
middleware
(
'auth'
);
Route
::
get
(
'/listar'
,
'EventoController@listar'
)
->
name
(
'listar'
)
->
middleware
(
'auth'
);
Route
::
delete
(
'/excluir/{id}'
,
'EventoController@destroy'
)
->
name
(
'deletar'
)
->
middleware
(
'checkRoles:coordenador,administrador'
);
Route
::
delete
(
'/excluir/{id}'
,
'EventoController@destroy'
)
->
name
(
'deletar'
)
->
middleware
(
'checkAdministrador'
);
Route
::
get
(
'/editar/{id}'
,
'EventoController@edit'
)
->
name
(
'editar'
)
->
middleware
(
'checkRoles:coordenador,administrador'
);
Route
::
delete
(
'/excluir/{id}'
,
'EventoController@destroy'
)
->
name
(
'deletar'
)
->
middleware
(
checkCoordenador
::
class
);
Route
::
post
(
'/editar/{id}'
,
'EventoController@update'
)
->
name
(
'update'
)
->
middleware
(
'checkRoles:coordenador,administrador'
);
Route
::
get
(
'/editar/{id}'
,
'EventoController@edit'
)
->
name
(
'editar'
)
->
middleware
(
'checkAdministrador'
);
Route
::
get
(
'/editar/{id}'
,
'EventoController@edit'
)
->
name
(
'editar'
)
->
middleware
(
checkCoordenador
::
class
);
Route
::
post
(
'/editar/{id}'
,
'EventoController@update'
)
->
name
(
'update'
)
->
middleware
(
'checkAdministrador'
);
Route
::
post
(
'/editar/{id}'
,
'EventoController@update'
)
->
name
(
'update'
)
->
middleware
(
checkCoordenador
::
class
);
Route
::
post
(
'/setResumo'
,
'EventoController@setResumo'
)
->
name
(
'setResumo'
)
->
middleware
(
'checkAdministrador'
);
Route
::
post
(
'/setResumo'
,
'EventoController@setResumo'
)
->
name
(
'setResumo'
)
->
middleware
(
'checkAdministrador'
);
Route
::
post
(
'/setFoto'
,
'EventoController@setFotoEvento'
)
->
name
(
'setFotoEvento'
)
->
middleware
(
'checkAdministrador'
);
Route
::
post
(
'/setFoto'
,
'EventoController@setFotoEvento'
)
->
name
(
'setFotoEvento'
)
->
middleware
(
'checkAdministrador'
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment