CI 묻고 답하기

제목 사용자 권한 체크 방법 조언 구합니다^^
카테고리 CI 2, 3
글쓴이 damian 작성시각 2018/03/14 15:38:01
댓글 : 1 추천 : 0 스크랩 : 1 조회수 : 13567   RSS

안녕하세요,

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에 올려서 사용하기도 하구요.