We are developing a laravel application, the application has an admin part which is only accessible to the admin users in routes
file we have:
Route::group(['middleware' => 'admin', 'prefix' => 'admin', 'namespace'
=> 'Admin'] , function() {
Route::get('oldAdminUrl', 'oldControllwe@handle');
}
The middleware
file's handle function is like
public function handle($request, Closure $next)
{
if ($this->admin->guest())
{
//some code here
}
return $next($request);
}
ad the $this->Admin
refers to Model
called adminModel
with the following attribute
protected $table = 'admin'
Now we need to add a new url to the group of admin urls let's call it newAdminUrl
it should be accessabile for both the admin users and also a new group of users let's call them editors
is it a good practice to put that url outside the admin group
and assign it a new middleware
let's call it editorsMiddleware
in additon to admin middleware
to check if the user who wants to access the newAdminUrl
is either in editor group or admin group and the editors be stored in another table
Route::group(['middleware' => ['admin','editors], 'prefix' => 'admin',
'namespace' => 'Admin'] , function() {
Route::get('newAdminUrl', 'newControllwe@handle');
}
The EditorModel
which is used inside the editorMiddleware
has this attribute:
protected $table = 'editor'
The Question: what is the right or even good approach to implement it? or anyone has any better idea or suggestion?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire