繁体   English   中英

将模块控制器重定向到HMVC代码点火器中的一个特定控制器

[英]Redirecting modules controller to one specific controller in HMVC codeigniter

使用codeigniter制作离线应用程序。 该应用程序用于存储客户端数据。 我已经使用了codeigniter hmvc方法。 现在我的应用程序中大约有八个模块,例如模板,搜索,客户端,用户等。.user模块检查管理员身份。 将来模块的数量将增加。

现在要检查用户是否以admin身份登录,因此我在__construct()函数的每个模块中都使用了这段代码,而没有模板和用户模块,因为当我尝试将此代码放入模板或用户控制器时,firefox说Page could not be redirected properly

if(!$this->session->userdata('user_type')){
    redirect(base_url().'users/login');
} 

将这段代码粘贴到模板和用户模块中会产生问题。 当我删除此代码,然后一切正常。 这样,用户仍然可以无需登录即可访问模板和用户模块。

我只是想知道,是否有更好的方法可以做到,而不必在每个控制器中粘贴这段代码,也可以使来宾在没有登录的情况下不访问任何模块或方法。

如果您指定了完整的站点URL,则在不使用base_url()情况下,进入重定向的路径已经存在
尝试这个:

if(!$this->session->userdata('user_type')){
    redirect('/users/login');
} 

如果您使用的是HMVC,则可以这样操作:

if(!$this->session->userdata('user_type')){
    redirect('module_name/users/login'); // change module_name with your module name
}

更新:也许,您在一个页面上重定向,该页面也重定向...并循环播放

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM