使用tank auth设置Codeigniter HMVC

时间:2011-08-30 06:33:25

标签: codeigniter hmvc tankauth

我无法使用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的新手,谢谢

7 个答案:

答案 0 :(得分:4)

我发现了同样的问题,但我通过简单地向

添加注释解决了这个问题
$this->load->library('security');

所以看起来像这样:

//$this->load->library('security');

因为安全性它现在是codeigniter核心的一部分,我猜它已经默认加载了,而且一切似乎都运行得很好

答案 1 :(得分:4)

现在根据CodeIgniter 3.0 user guide

在Helper中

尝试:

$this->load->helper('security');

答案 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.phpsystem/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用户指南,有太多的更改和实施,或请参阅更改日志。