我真的需要帮助修改我购买的脚本,这是使用codeigniter(一个我完全陌生的系统)设计的脚本。该项目设计为只有两个具有固定权限的用户角色(admin,others(is_logged_in))。经过几个小时的学习MVC的工作后,我已经能够在项目中改变这么一点微不足道的东西。如何使用第三方认证系统更改codeigniter现有登录系统
我最大的问题是这样的:
我想使用脚本来完成,我一直在努力基本上都在本地的PHP网络POS应用程序,该项目采用离子身份验证的登录系统和身份验证,请我想要使用另一个第三方acl系统,如flexiauth,oauth,Aauth等,但我没有足够的知识来知道将要替换的文件以及我需要修改哪些控制器.....我完全卡住了....请帮我
我需要的是足够简单:
我想有多个组和用户可以访问不同的资源在我们b应用程序,例如收银员(应该有权访问pos,客户,报告daily_sales,关闭注册表,打印发票)和(一个帐户应该有权访问仪表板,报告,订单等),经理应该能够创建新用户,查看销售额,无效销售等,管理当然应该有整体访问。
我现在拥有的是admin(完全访问所有资源)其他logged_in用户:在某些区域受限制。
组我已经是2:
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');
}
}
你发现了用户和组的存储位置/方式吗?我会从那里开始。 –
是的。用户和组存储在db .....组中。我可以添加新用户,但我只能将用户分配到两个组中的任一管理员或工作人员 –
Ion Auth库以这种方式创建,您可以根据需要创建多个组。但是,如果您需要使用任何其他身份验证库,则应删除与Ion身份验证相关的任何代码,并执行其他需要的库以下文档。 – Tpojka