thinkphp 5使用行为进行用户登录验证。

1、在需要进行登录验证的模块下创建behavior目录,并在该文件夹下创建UserCheck.php文件。
2、该文件代码如下:

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2016/12/5 0005
 * Time: 17:42
 */
namespace app\index\behavior;
use think\Controller;
use think\Request;
use think\Session;

class UserCheck {

    public function run(&$params){

        $ignore_controller_array=[//需要忽略的控制器
            'Login'
        ];
        $ignore_action_array=[//需要忽略的方法
            'Index/index'
        ];

        $request = Request::instance();
        $cur_controller = $request->controller();

        $cur_action = $request->controller().'/'.$request->action();

        if(!in_array($cur_controller,$ignore_controller_array)&&!in_array($cur_action,$ignore_action_array)){
            $user_name =  Session::get('username');
            $user_id =  Session::get('id');

            if(empty($user_id)||empty($user_name)){
              $url = '/index/login/login.html';
             echo "<script>window.location.href='$url';</script>";
            }else{
               return true;
            }
        }


    }
}

3、在该模块下创建tags.php文件
4、tags.php中代码如下:

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用行为扩展定义文件
return [
    // 应用初始化
    'app_init'     => [

    ],
    // 应用开始
    'app_begin'    => [],
    // 模块初始化
    'module_init'  => [
        'app\\index\\behavior\\UserCheck',
    ],
    // 操作开始执行
    'action_begin' => [],
    // 视图内容过滤
    'view_filter'  => [],
    // 日志写入
    'log_write'    => [],
    // 应用结束
    'app_end'      => [],


];





这样每次进入该模块的时候就可以进行自动验证。不需要验证的可以加入忽略名单,即可跳过!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值