首页  >  文章  >  后端开发  >  laravel5.1 - php laravel 如何优雅的写一个登录验证的 中间件鱼路由

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

WBOY
WBOY原创
2016-06-06 20:28:221060浏览

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

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

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

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

访问这个页面是需要进行 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 的auth 的登录中间件;

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

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

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

访问这个页面是需要进行 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 书写的代码都很漂亮呀,自己写的代码感觉好丑呀。

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

第一,命令行:

<code>php artisan make:middleware FrontEndOperatorAuth</code>

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

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

        return redirect()->back();
    }
    </code>

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

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

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

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn