제목 | 사용자 권한 체크 방법 조언 구합니다^^ | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | damian | 작성시각 | 2018/03/14 15:38:01 |
|
|||
안녕하세요, CI 로 사이트를 구축해보고 있습니다. 사용자 권한에 따라 페이지의 기능을 제한두고 싶은데 이를 검증하는 과정에 대해 조언 구해봅니다^^
현재 제가 구현한 2가지 방법에 대한 지적과... 효율적인 대안도 가능하다면 부탁드립니다!
1) 세션검증 ㅇ 로그인 성공시 사용자 권한값을 세션으로 생성 ㅇ 모든 페이지 접근시 권한값을 검증, 권한에 따른 뷰(View) 출력 ㅇ 다만 불편했던 점이... 예를들어 기존에 관리자 권한을 갖고 있던 사용자가 더이상 관리자 권한이 아닌 일반 권한으로 변경되었을때, 해당 사용자가 로그아웃-로그인 행동을 하지 않으면 기존 관리자 권한 세션값을 가지고 있어서... 관리자 기능을 이용할 수 있게 되는거 같습니다. 물론... 저의 설계가 부족해 발생하는 현상같기도 하구요ㅜㅜ ㅇ ex) public function index() { $userType = $this->session->userdata('권한값'); if ($userType == '9') { $this->load->view('type9/index'); } else if ($userType == '8') { $this->load->view('type8/index'); } else { // 잘못된 접근 처리 } }
2) 페이지 로드시 검증 ㅇ 모든 페이지 로드시 __construct 부분에서 User 데이터베이스에 접근해 현재 로그인 중인 사용자의 권한값을 가져옴 ㅇ 이 권한값을 기준으로 View 출력 ㅇ 1번의 불편사항은 개선할 수 있으나 매번 데이터베이스에 접근한다는게 좋은 방법인가요?
혼자 끄적끄적 개발하다보니 답답한 부분이 많습니다ㅜㅜ 조언 부탁드립니다. 감사합니다^^
|
|||
다음글 | file upload시 resize 질문입니다. (2) | ||
이전글 | 한 페이지내에서 ajax를 두번 보내야할 시 csrf토... (1) | ||
변종원(웅파)
/
2018/03/14 16:18:14 /
추천
0
|
권한 등록, 수정될때 db 및 파일에 저장하고 생성자에서 파일을 읽어 처리하도록 하기도 합니다.
중요데이터의 경우 메모리 db에 올려서 사용하기도 하구요.