Php 使用laravel hesto/multiauth限制对管理员的访问
我一直在使用Laravel Hesto/multi-Auth为用户和管理员创建身份验证。。。 我还创建了只有管理员才能访问的其他视图。我还创建了访问这些页面的路由Php 使用laravel hesto/multiauth限制对管理员的访问,php,laravel,Php,Laravel,我一直在使用Laravel Hesto/multi-Auth为用户和管理员创建身份验证。。。 我还创建了只有管理员才能访问的其他视图。我还创建了访问这些页面的路由 Route::group(['prefix' => 'admin'], function () { Route::get('/', function (){ return redirect('/admin/login'); }); Route::get('/login', 'AdminAut
Route::group(['prefix' => 'admin'], function () {
Route::get('/', function (){
return redirect('/admin/login');
});
Route::get('/login', 'AdminAuth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'AdminAuth\LoginController@login');
Route::post('/logout', 'AdminAuth\LoginController@logout')->name('logout');
Route::get('/register', 'AdminAuth\RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'AdminAuth\RegisterController@register');
Route::post('/password/email', 'AdminAuth\ForgotPasswordController@sendResetLinkEmail')->name('password.request');
Route::post('/password/reset', 'AdminAuth\ResetPasswordController@reset')->name('password.email');
Route::get('/password/reset', 'AdminAuth\ForgotPasswordController@showLinkRequestForm')->name('password.reset');
Route::get('/password/reset/{token}', 'AdminAuth\ResetPasswordController@showResetForm');
// Routes settings admin
Route::resource('/settings/langs', 'Admin\LangController');
// Route core application
Route::resource('/mappings/sectors', 'Admin\SectorController');
});
我的问题是,未登录的用户可以访问设置/语言和映射/扇区的路由。。。这些页面应该被限制…只需将它们包装在
auth中间件
Route::group(['prefix' => 'admin'], function () {
Route::get('/', function (){
return redirect('/admin/login');
});
Route::get('/login', 'AdminAuth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'AdminAuth\LoginController@login');
Route::post('/logout', 'AdminAuth\LoginController@logout')->name('logout');
Route::get('/register', 'AdminAuth\RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'AdminAuth\RegisterController@register');
Route::post('/password/email', 'AdminAuth\ForgotPasswordController@sendResetLinkEmail')->name('password.request');
Route::post('/password/reset', 'AdminAuth\ResetPasswordController@reset')->name('password.email');
Route::get('/password/reset', 'AdminAuth\ForgotPasswordController@showLinkRequestForm')->name('password.reset');
Route::get('/password/reset/{token}', 'AdminAuth\ResetPasswordController@showResetForm');
Route::group(['middleware'=>'auth'], function(){
// Routes settings admin
Route::resource('/settings/langs', 'Admin\LangController');
// Route core application
Route::resource('/mappings/sectors', 'Admin\SectorController');
});
});
这将阻止非身份验证用户访问这些路由。只需将它们包装在
身份验证中间件下即可。
Route::group(['prefix' => 'admin'], function () {
Route::get('/', function (){
return redirect('/admin/login');
});
Route::get('/login', 'AdminAuth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'AdminAuth\LoginController@login');
Route::post('/logout', 'AdminAuth\LoginController@logout')->name('logout');
Route::get('/register', 'AdminAuth\RegisterController@showRegistrationForm')->name('register');
Route::post('/register', 'AdminAuth\RegisterController@register');
Route::post('/password/email', 'AdminAuth\ForgotPasswordController@sendResetLinkEmail')->name('password.request');
Route::post('/password/reset', 'AdminAuth\ResetPasswordController@reset')->name('password.email');
Route::get('/password/reset', 'AdminAuth\ForgotPasswordController@showLinkRequestForm')->name('password.reset');
Route::get('/password/reset/{token}', 'AdminAuth\ResetPasswordController@showResetForm');
Route::group(['middleware'=>'auth'], function(){
// Routes settings admin
Route::resource('/settings/langs', 'Admin\LangController');
// Route core application
Route::resource('/mappings/sectors', 'Admin\SectorController');
});
});
这将阻止非授权用户访问这些路由。效果良好。。在我的例子中,我必须写:Route::group(['middleware'=>'admin'],function())instead@davidvera这样,授权用户他们必须是管理员才能访问路由。因此,我会将其保留在auth中。但您的选择现在知道如何执行:)因此,请将标记为anwseredIt很好。。在我的例子中,我必须写:Route::group(['middleware'=>'admin'],function())instead@davidvera通过这种方式,授权用户他们必须是管理员才能访问路由。因此,我会将其与auth一起保存。但是您的选择您现在知道如何执行:)因此请将其标记为anwsered