没有登录会话,任何人都无法访问 codeigniter 4 中的控制器
Posted
技术标签:
【中文标题】没有登录会话,任何人都无法访问 codeigniter 4 中的控制器【英文标题】:Without login session no one can access controller in codeigniter 4 【发布时间】:2021-06-07 02:31:05 【问题描述】:我想将所有没有会话的用户引导到登录页面。
我在控制器中创建了一个构造函数。但它不起作用。这是我的代码:
public function __construct()
$session = session();
if($session->username != true)
return redirect()->to('/login');
【问题讨论】:
您当前正在检查您的用户名是否为真,如果您检查它是否为假,会发生什么?if(!$session->username)
?
【参考方案1】:
我解决了。在 Codeigniter 4 中,__construct 方法不起作用。这就是为什么它不起作用。我没有使用 Codeigniter 4 过滤器来重定向到登录页面。这是我的 Codeigniter 过滤器代码:
class LoginFilter implements FilterInterface
public function before(RequestInterface $request, $arguments = null)
if(!session()->username)
return redirect()->to(base_url('login'));
【讨论】:
【参考方案2】:你试过了吗:
if($session["username"] != true)
怎么样
if(!isset($_SESSION["username"]))
【讨论】:
以上是关于没有登录会话,任何人都无法访问 codeigniter 4 中的控制器的主要内容,如果未能解决你的问题,请参考以下文章