Mal*_*ala 4 authentication controller codeigniter
我有一些CodeIgniter控制器只能由已登录的用户访问(即$ this-> session-> userdata('username')不为null).如果未经过身份验证的人试图访问所述控制器,他们应该收到:
header('location: /auth/login');
Run Code Online (Sandbox Code Playgroud)
必须有一个更好的方法来做到这一点,而不是把一个
if (!$this->session->userdata('username'))
header('location: /auth/login');
else
{
[rest of function]
}
Run Code Online (Sandbox Code Playgroud)
在控制器的每个功能面前......
我知道DX_Auth有类似的功能,但我没有使用身份验证插件,我不愿意这样做.
谢谢!
马拉
在创建类时进行用户登录检查,因此用户访问它的功能无关紧要,检查会话变量并在失败时重定向到登录页面:
function className()
{
parent::Controller();
if(!$this->session->userdata('username')) header('location: /auth/login');
}
Run Code Online (Sandbox Code Playgroud)
__constructor当你创建时controllers/models,这就是在codeigniter 中调用它或者它的等价物的方式,或者至少是我所理解的!
| 归档时间: |
|
| 查看次数: |
3140 次 |
| 最近记录: |