당신의 질문 중 하나에 대답하고 싶습니다. 현재 "플래그 기반"ACL을 사용하고 있습니다. 내 사용자 테이블에는 Activated, Staffmember, Admin이라는 3 개의 필드가 있습니다. 나는 2 가지 다른 모델에서 3 개의 쿼리를 실행하여 주어진 로그인 자격 증명이 맞는지 확인합니다.
WHERE staffmember = 1
WHERE Admin = 1
WHERE activated = 1
레코드가 반환되면 반환 값으로 변환합니다.
이것은 내 다른 문은 무엇을 볼 수있는 사람을 결정하는 경우 :
function index()
{
$this->load->model('staff_model'); // loads model that queries if username is associated with a admin or staff account
if($staffmember = $this->staff_model->staffmember()) //Checks for staff value == 1
{
if($is_admin = $this->staff_model->is_admin()) // Checks for admin value == 1
{
redirect('admin_controller/index'); // redirects to what the admin will see (the admin pages, add users, delete users, deactivate users, this way I set up a sorta CMS type system
}else{ // If not admin == 1 meaning it can be a staff member == 1
$data['main_content'] = 'staff_homepage_view'; //sets up template for staff member
$this->load->view('includes/template', $data); // this will then load the view for staff member
}
}else{ // If not staff == 1 // then if it is not staff member it will load the view for a no permission account in this case : student
$data1['main_content'] = 'student_homepage_view';
$this->load->view('includes/template', $data1);
}
}
당신이 모델을 알려 주시기 볼 필요합니다. 그러나이 방법으로 나는 사용자가 데이터베이스의 계정 플래그를 통해 볼 수있는 것을 설정할 수있었습니다.
이 방법으로도 관리자는 반드시 직원이어야하며 활성화 된 권한없는 계정은 staffmember 또는 admin이 될 수 없습니다.
그래서 다음 편집 = 1 다음 사용자가 필요한 사항에 대한 전체 액세스 권한을 완료 할 경우 당신은 다음 사용자 테이블 다음 지정할 수 있습니다
컨트롤러에서 편집
라는 필드에서 설정 할 수있는 일 , 그 밖에 읽을 수 있습니다. 이제 편집해야 할 내용을 알지 못해서 내가 제공 할 수있는 정보가 제한적입니다.
나는 몇 표를 남겨두고 있습니다. "건설적이지 않은"표와 왜 내가 어떻게 수정할 수 있는지 알려 주시기 바랍니다. 나는 "물어 보는 법"을 확인하고 숙제를했다. 구체적으로하려고 시도했다. 나는 다른 사람들에게 재발 할 것이라고 생각한다. (나는 이것을 찾을 수있는 유일한 사람이 될 수 없다. 토론, 논쟁, 여론 조사 또는 토론 확대 "를 선점했다. 이 질문을 더 잘하기 위해 내가 할 수있는 일을 알려주십시오. – AlexC
필드 레벨 ACL을 제공하는 공개적으로 사용 가능한 CI 라이브러리를 아직 보지 못했습니다. 필요한 것을 얻기 위해 내장 양식 유효성 검증 라이브러리의 ACL과 확장자의 조합을 사용해야 할 수도 있습니다. – Brendan
@Brendan 확인해 주셔서 감사합니다. 아무도 다른 것이 없다면 나는 그 다음으로 향하고있다.지식의 몸에서 아무것도 보지 못했습니다. 내가 뭔가를 만드는 것을 끝내면 나는 그것을 사용하기 위해 올릴 것이다. – AlexC