如何使用第三方身份验证系统更改编码器现有登录系统


How do I change codeigniter existing login system using 3rd party authentication system

我真的需要帮助修改我购买的使用codeigniter(一个我完全陌生的系统)设计的脚本。项目被设计为只有两个固定权限的用户角色(admin, others(is_logged_in))。经过几个小时的学习MVC是如何工作的,我已经能够在项目中改变这么小但无关紧要的东西。

我最大的问题是:
我想使用脚本来完成一个web POS应用程序,我基本上在本地php工作,该项目使用ion-auth登录系统和身份验证,请我想使用另一个第三方acl系统,如flexiauth, oauth, Aauth等,但我没有足够的知识来知道我将取代哪些文件,哪些控制器(s)我需要在.....进行修改我完全卡住了....请帮帮我

我需要的很简单:

我想有多个组和用户在web应用程序中访问不同的资源,例如收银员(应该有权访问pos,客户,报告daily_sales,关闭注册,打印发票)和(一个帐户应该有权访问仪表板,报告,订单等),经理应该能够创建新用户,查看销售,无效销售等,和管理员当然应该有整体访问。

我现在拥有的是admin(对所有资源的完全访问权限),其他logged_in用户:在某些区域受到限制。

我有两个组:

Admin
Staff.

我不知道如何继续。

我想我找到了用于定义访问的自定义库请检查下面的代码和建议,我可以从哪里开始:

 class MY_Controller extends CI_Controller {
function __construct() {
    parent::__construct();
    define("DEMO", 0);
    $this->Settings = $this->site->getSettings();
    $this->lang->load('app', $this->Settings->language);
    $this->Settings->pin_code = $this->Settings->pin_code ? md5($this->Settings->pin_code) : NULL;
    $this->theme = $this->Settings->theme.'/views/';
    $this->data['assets'] = base_url() . 'themes/default/assets/';
    $this->data['Settings'] = $this->Settings;
    $this->loggedIn = $this->tec->logged_in();
    $this->data['loggedIn'] = $this->loggedIn;
    $this->data['categories'] = $this->site->getAllCategories();
    $this->Admin = $this->tec->in_group('admin') ? TRUE : NULL;
    $this->data['Admin'] = $this->Admin;
    $this->m = strtolower($this->router->fetch_class());
    $this->v = strtolower($this->router->fetch_method());
    $this->data['m']= $this->m;
    $this->data['v'] = $this->v;
}
function page_construct($page, $data = array(), $meta = array()) {
    if(empty($meta)) { $meta['page_title'] = $data['page_title']; }
    $meta['message'] = isset($data['message']) ? $data['message'] : $this->session->flashdata('message');
    $meta['error'] = isset($data['error']) ? $data['error'] : $this->session->flashdata('error');
    $meta['warning'] = isset($data['warning']) ? $data['warning'] : $this->session->flashdata('warning');
    $meta['ip_address'] = $this->input->ip_address();
    $meta['Admin'] = $data['Admin'];
    $meta['loggedIn'] = $data['loggedIn'];
    $meta['Settings'] = $data['Settings'];
    $meta['assets'] = $data['assets'];
    $meta['suspended_sales'] = $this->site->getUserSuspenedSales();
    $meta['qty_alert_num'] = $this->site->getQtyAlerts();
    $this->load->view($this->theme . 'header', $meta);
    $this->load->view($this->theme . $page, $data);
    $this->load->view($this->theme . 'footer');
}
}

Codeigniter没有自带登录系统,所以您购买的脚本已经使用了第三方包/插件。

在以下位置查找登录脚本代码:Models, Libraries。控制器是您控制一切的地方,因此您可以稍后查看它,首先您需要确定哪些文件被用作登录功能的核心。一旦你确定了,你就可以查看代码并了解它们是如何处理用户组/previlages等。

关于组和优势,要么他们在数据库中有他们的表,其中的值存储在admin, public等或值存储在配置文件中,你可以在应用程序'config目录中找到所有的配置文件。使用PHPMYAdmin来检查数据库和非编码器配置文件

检查每个控制器的Auth。