阻止访问代码点火器

时间:2015-04-27 19:29:47

标签: php codeigniter permissions

我正在使用Code Igniter开发应用程序并遇到问题:

我有几个访问数据库的函数,它们的路由如下:

控制器/功能/可变 employess / deleteEmployee / 4

所以,任何将这个放在网址上的人都会删除该员工。

如何设法仅允许已登录的管理员用户访问此功能? 有一种简单且被广泛接受的方式吗? 如果有用户登录且该用户有权限,我必须每次检查一次吗?

此致

1 个答案:

答案 0 :(得分:0)

以下是参考的网址...

https://ellislab.com/codeigniter/user-guide/general/hooks.html

这是一个简单的例子

$.ajax({
    url: '/article/' + articleId,
    type: 'DELETE',
    success: function(result) {
        // Do something with the result
    }
});

将此代码复制到/application/config/hooks.php

Copy this piece of code as checksession.php and save it in /application/hooks
    <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

        class Checksession
        {
            private $CI;

            public function __construct()
            {
                $this->CI =&get_instance();
            }

            public function index()
            {
                if($this->CI->router->fetch_class() != "login"){
                    // session check logic here...change this accordingly
                    if($this->CI->session->userdata['userid'] == '' ){
                        redirect('login');
                    }
                }

            }
        }

启用/application/config/config.php中的挂钩

$hook['post_controller_constructor'] = array(
                                'class' => 'checksession',
                                'function' => 'index',
                                'filename' => 'checksession.php',
                                'filepath' => 'hooks'
);

希望这有帮助。
好运和快乐编码