CodeIgniter— ACL的最佳实现

在CodeIgniter中实现ACL的最佳方法是什么? 基于数据库的角色,组,用户持久性? 创建一个库? 以下是我们正在合作的内容: 文章,作者 作者有两种类型: 普通作者(只能看到自己的文章)。 作为管理员的作者(可以查看所有文章并批准其他作者的文章)。 考虑到功能将扩展(需要对作者类型进行权限限制的更多功能),在CodeIgniter中执行ACL的最佳方法是什么?     
已邀请:

bab

您需要为每种类型的权限分离控制器,并且具有一个模块,该模块在用户使用该特定控制器允许的权限类型登录时检查会话变量集。
// module User_model:
function is_logged_in_admin()
{
    $is_logged_in = $this->session->userdata('is_logged_in');
    $user_status = $this->session->userdata('user_type');
    if(!isset($is_logged_in) || $is_logged_in != true || $user_status != 'admin')
    {
    $this->session->sess_destroy();  
    redirect('please_login/', 'refresh');           

    }       
}
控制器,加载模块并检查构造:
    function __construct()
{
    parent::__construct();
    $this->load->model('User_model'); 
        $this->User_model-> is_logged_in_admin();

}
    
我正在编写基于ACL的授权系统,该系统检查URL级别的权限。它应该是透明的,并且认证系统是不可知的。它被实现为post controller构造函数钩子。 可悲的是它没有完成。但你可以在github上查看它,如果你想完成它就分叉吧。 atm它只适用于在配置文件中编码的ACL,但它允许外部组/角色源(我还没有编写一个)。     

要回复问题请先登录注册