rol*_*lfk 6 php authorization laravel laravel-5
我在Windows开发机器上使用Laravel 5.我想在整个应用程序中自定义和使用Auth中间件,以维护身份验证.我的用例是标准用例.有两个(或三个)类用户 - 管理员和常规(常规用户不是管理员).
Admin具有后端管理的明显作用,因此具有单独的路由组/ admin /,它应该将未记录的用户重定向到/ admin/login.我已经这样设置了..
Route::group(['middleware'=>'auth', 'prefix' => 'admin'], function() {
Route::get('login','App\AuthController@getLogin');
Route::post('login','App\AuthController@postLogin');
});
Run Code Online (Sandbox Code Playgroud)
发布登录表单时,如何让Auth添加过滤器
我建议您定义另一个中间件,用于检测用户是否为admin而不是修改auth.现在将另一个中间件添加到只有管理员才能访问的路由中.
添加几个中间件来这样路由
Route::group(['middleware' => ['auth','admin']], function() {
Run Code Online (Sandbox Code Playgroud)
中间件看起来像
public function handle($request, Closure $next) {
if (Auth::user()->role == "admin") {
return $next($request);
} else {
return redirect("/")->withMyerror("You are not authorized for this action");
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4025 次 |
最近记录: |