php laravel 如何优雅的写一个登录验证的 中间件鱼路由


看了 laravel 的auth 的登录中间件;

目前auth 对应的 user 表 已经使用了;

现在需要 新建一直表 Operator ; 这个是一个前台操作员的登录表模型


 Route::get('operator/index_1.html', ['middleware' => 'OperatorAuth', OperatorController@indexOne);
Route::get('operator/index_2.html', ['middleware' => 'OperatorAuth', OperatorController@indexTwo);

访问这个页面是需要进行 OperatorAuth 中间验证的

有2类操作员, 分别访问以上2个 路由

OperatorAuth 这个中间件该如何写呢 需要继续 laravel auth 吗

另外 问一下 流程 ;

访问者 访问 operator/index_1.html 经过中间件 OperatorAuth 登录 ,登录成功后 再返回 operator/index_1.html

访问者 访问 operator/index_2.html 经过中间件 OperatorAuth 登录 ,登录成功后 再返回 operator/index_2.html

这个中间件验证成功后返回 访问的地址 ; 这个在 中间件里 如何写呢?

有没有大神 贴一下 laravel 书写的 优雅代码呢? 看见好多 laravel 书写的代码都很漂亮呀,自己写的代码感觉好丑呀。

求一下大神指导一下,智商比较低,望 ,见谅菜鸟的 无知 嘿嘿.

laravel php laravel5.1

瞬发大火球 8 years, 11 months ago

第一,命令行:


 php artisan make:middleware FrontEndOperatorAuth

第二,找到 app/Http/Middlewares 文件夹下面的 FrontEndOperatorAuth.php ,在 handle() 方法写你的逻辑:


 public function handle($request, Closure $next)
    {
        $user = $request->user();
        if ( $user && $user->isOperator() ) {
            return $next($request);
        }

        return redirect()->back();
    }

第三,在 User.php 中增加 isOperator() :


 public function isOperator(){
       // your logic goes here
}

btw,希望修改一下错别字。

然后我最近上线了一个laravel的社区: Laravist ,有什么laravel相关的问题可以到这里来问我

☆寂夜D星雨 answered 8 years, 11 months ago

Your Answer