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

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

WBOY
WBOYOriginal
2016-06-06 20:28:221060Durchsuche

看了 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相关的问题可以到这里来问我

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn