如何在CodeIgniter框架中分隔前端和管理员?

时间:2018-08-24 14:18:58

标签: php mysql codeigniter

我开始研究一个应该具有管理面板和前端的项目,并且我想根据客户要求使用CodeIgniter框架。但是问题是我无法理解如何如上所述启动项目。 我想要共享与图像相似的文件夹

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试使用Codeigniter的会话功能来验证用户及其角色(例如“管理员”,“客户”等)

然后向每个控制器添加这样的构造函数(这只是一个示例)

class Admin_only extends CI_Controller {

    public function __construct()
    {
        parent::__construct();

        if( !isset($this->session->userdata['logged_in']) || $this->session->userdata['logged_in']['user_type'] != 'administrator' )
        {
            // you're not welcome here
            redirect('welcome/access_error');
        }

    }

每次访问控制器中的任何内容时,都会运行__construct()。

看看我的示例中的方法(有更简洁的方法,但这肯定会起作用),我一直在检查用户是否已登录以及用户是否是管理员(实际上我正在检查相反的...已登录)还是不是管理员,但从逻辑上讲这几乎是相同的),如果检查失败,则会将用户重定向到控制器之外。

答案 1 :(得分:1)

除了Admin_controller(用于分离的安全规则)之外,为了更好地进行组织,最好使用这样的扩展名:

HMVC:https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src

有了这个,您将能够看到这种类型的os结构:

enter image description here

URLs

http://awesome.site/public_controller

http://awesome.site/*module_name*/*controller_inside_module*

http://awesome.site/admin/login