我无法使用hmvc和tank auth(设置为模块)正确设置Codeigniter版本2.0.3。我已经正确安装了CI,然后按照这些方向安装HMVC https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
我到我的欢迎控制器/视图作为示例就好了,这意味着HMVC正在工作。接下来,我尝试通过将tank auth添加到modules文件夹中的文件夹来将tank auth添加到项目中。它具有适当的控制器/视图/模型等。在坦克auth中设置。我甚至在路线中添加了类似
的东西$路线[ “AUTH”] = “auth /中登录”;
我还将auth模块中的控制器扩展到MX_Controller,如同指示一样。同样在我的构造函数中:
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->library('security'); <--failing to load this
$this->load->library('tank_auth');
$this->lang->load('tank_auth');
$this->form_validation->CI =& $this;
它似乎正在重定向到模块,但它出现了一个错误说::
遇到错误
无法加载请求的类:security
我做错了什么?是否有人使用HMVC和tank auth作为模块进行CI安装,以便我可以看到它是如何完成的?我是HMVC的新手,谢谢
答案 0 :(得分:4)
我发现了同样的问题,但我通过简单地向
添加注释解决了这个问题$this->load->library('security');
所以看起来像这样:
//$this->load->library('security');
因为安全性它现在是codeigniter核心的一部分,我猜它已经默认加载了,而且一切似乎都运行得很好
答案 1 :(得分:4)
答案 2 :(得分:2)
我通过使用以下代码在Security.php
目录中创建application/libraries
文件来解决此问题:
require_once(BASEPATH.'core/Security.php');
class Security extends CI_Security { }
答案 3 :(得分:0)
我找到了一个解决方案,我只是从codeigniters system / core文件夹中获取了security.php文件并将其放入系统/库中。
答案 4 :(得分:0)
将文件security.php
从system/core
移至system/libraries
然后修改core/codeigniter.php
行号204从$SEC =& load_class('Security', 'core');
到$SEC =& load_class('Security', 'libraries');
答案 5 :(得分:0)
Security.php出现在“codeigniter / system / core / Security.php”中 所以提供这条路径可以轻松解决问题
load->library('../core/security');
答案 6 :(得分:0)
我阅读了CodeIgniter 3.X用户指南,我发现“安全”现在可以作为“帮助者”使用。
所以你需要改变这个;
NSPredicate
到
$this->load->library('security');
XSS过滤
Input类能够自动过滤输入以防止跨站点脚本攻击。如果您希望过滤器每次遇到POST或COOKIE数据时自动运行,您可以通过打开application / config / config.php文件并设置它来启用它:
$this->load->helper('security');
您需要阅读CodeIgniter 3.0用户指南,有太多的更改和实施,或请参阅更改日志。