CI 묻고 답하기

제목 페이지 보안에 대해..
글쓴이 Mook 작성시각 2013/10/01 12:00:24
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 13700   RSS
 별거 아닌질문일것같은데요, ^^;
컨트롤러 하위폴더를 지정해서 일반적인 권한으로 접근하지 못하도록 하는게 있을까요?
코드에 하나하나 접근자 세션 검사시키고 조건문 넣기가 영 귀찮은 일이라...
이런 기능이 있으면 좋겠다 싶어서요~~
혹시 아시는분 있나요?

 다음글 첨부 파일에 대해서 질문 있습니다. (2)
 이전글 ㅠ,ㅠ 죄송합니다 조회수 다시 질문 드립니다. (6)

댓글

변종원(웅파) / 2013/10/01 12:25:59 / 추천 0
접근제어 함수 하나 만들어서 처리하세요. 디렉토리에 대해 접근레벨을 배열로 만들고 현재 디렉토리에 대해 접근가능한지 체크. 일반적인 권한제어입니다. 배열 또는 관리자 페이지가 있다면 db에 넣고 불러서 비교.
변종원(웅파) / 2013/10/01 12:26:59 / 추천 0
htaccess를 이용할수도 있지만 사용자가 수시로 변경된다면 더 귀찮습니다
Mook / 2013/10/01 13:49:40 / 추천 0
 웅파//
htaccess를 이용하는건 어떤방법인가요?
그리고 사실 위에말한 컨트롤러 폴더는 대부분이 백오피스라 접근을 막으려는건데
(백오피스가 아직 통합되어있지 않음..필요한대로 각자 개발하고있어서;)
백오피스를 따로 관리하는 좋은 방법이 있을까요?
변종원(웅파) / 2013/10/01 14:01:38 / 추천 0
위에 말씀드린 함수 하나 만들고 hook에서 체크하면 됩니다.

만약 특정 디렉토리를 열어야 한다면 컨트롤러의 생성자에 위 함수를 사용하면 되구요.

제 경우엔 메뉴별로 권한 제어를 합니다. 관리자의 메뉴는 관련된 프로그램의 집합일테구요.

메소드별로도 제어가 가능합니다.

컨트롤러내의 생성자에서
is_admin_login('5', $this->uri->segment(2));

첫번째 파라미터는 로그인 세션의 접근레벨, 두번째는 컨트롤러명

is_admin_login()에서는 먼저 로그인 여부 체크하여 로그인이 안되어 있으면 로그인으로 이동,
로그인 되어 있으면 넘어온 레벨과 세션의 레벨을 체크하여 레벨이 낮으면 메인으로 이동,
그 이후에 컨트롤러명과 두번째 파라미터를 비교하여 접근가능하면 그냥 통과,
그렇지 않다면 접근가능한 컨트롤러로 이동하도록 처리합니다.




htaccess는 검색해보세요. 참고할 자료 많이 나옵니다.
Mook / 2013/10/01 14:38:44 / 추천 0
 웅파//
친절한 답변 매번 감사합니다 ^^