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

WBOY
풀어 주다: 2016-06-06 20:28:22
원래의
1094명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿