比如访问的链接是:http://www.域名.com/mobile.php/User/getCode.html
访问User控制器的getCode方法
$request = \think\Request::instance();
$action = $request->action();//这里获取的方法是小写的(getcode)
//不需要登录的操作
$no_login_action = array('login','do_login','logout','register','getCode','jsonRegionC','jsonRegionD');
//未登录处理
$this->user_id = session::get('user_id') ? session::get('user_id') : '';
if(empty($this->user_id)){
if(!in_array(strtolower($action),array_map('strtolower',$no_login_action))){
header("Location:".url('User/login'));exit;
}
}
不区分大小写实现的代码如下,把方法及传递的全转为小写:
in_array(strtolower($action),array_map('strtolower',$no_login_action)