Codeigniter跳过登录检查,在构造函数中定义,用于特定操作

标签 codeigniter constructor controller

我在 Controller 构造函数方法中定义了登录检查,如下代码:

if($this->session->userdata('log_in')== false){ 
    redirect(); //function for redirect to login page
}

但我不想针对特定操作调用此登录检查

(例如公共(public)函数viewProduct())

同一 Controller 。我怎样才能做到这一点?

最佳答案

您可以在 if 条件下在构造函数中指定方法名称,例如

$method = $this->router->fetch_method();
if($this->session->userdata('log_in')== false && $method !== 'viewProduct'){ 
    redirect(); //function for redirect to login page
}

现在将不会在 viewProduct 方法中进行检查。

关于Codeigniter跳过登录检查,在构造函数中定义,用于特定操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39319026/

相关文章:

c# - 在不存在的结构布局中循环

android - Android Studio 中的 "There is no default constructor available in android.database.sqlite.SQLitepenhelper"

asp.net-mvc - 使用授权过滤器区分 Controller 操作

ember.js - Ember 生成的服务在注入(inject)时引发错误

codeigniter - 如何在代码点火器中将表单验证规则设置为整个表单而不是表单字段?

mysql - CodeIgniter PHPExcel导出到excel出现16位varchar数据类型错误

java - 静态方法(main)如何能够捕获非静态方法(构造函数)并执行它?

php - 我们可以在 Codeigniter 的单选按钮中传递数组值吗?

php - 在mysql查询中创建和更新虚拟列值

javascript - Controller 的指令和实例