CI 묻고 답하기

제목 모든 페이지 로그인 여부 체크 방법 문의
글쓴이 커피요쿠르트 작성시각 2014/08/22 02:31:53
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14489   RSS
안녕하세요?

관리자페이지를 만들려고 하는데요.
당연히 로그인한 사용자만 사용해야하므로..;;;
로그인안하고 접근시 로그인페이지로 이동하는 처리를 할려고 합니다. 

모든 페이지에 적용하려 합니다.

대게 header.jsp에서 로그인 여부 체크하고 페이지 이동시키는 처리를 작성한 후
모든 페이지가 header.jsp를  include하면 될거같은데..

CI에서 지원하는 다른 방법은 없을까요?

controller에서 공통적으로 처리한다던가.. 하는 방법..
설명하기 애매하긴한데. 어떤 설정으로 해결한다던가.. 하는..

좋은 방법 있으시면 알려주시면 감사하겠습니다. 

그럼 수고하세요~~
 다음글 CK에디터... 이미지 파일 업로드는 되는데.. (22)
 이전글 You don't have permission to a... (3)

댓글

한대승(불의회상) / 2014/08/22 09:08:21 / 추천 0
구현 방법에는 이야기 하신대로 여러가지 방법이 있습니다.
CI만의 특별한 방법을 원하신다면 우선 떠오르는게 2가지 방법이 있습니다.

1. Hook 을 사용하는 방법
2. 코어인 CI_Controller를 MY_Controller로 확장 하는 방법

더 좋은 아이디어 댓글 부탁 드립니다. ^^
CI_ORL / 2014/08/22 10:39:48 / 추천 0
전 쉽게 생각했었죠 변수 등에 값이 존재하면 로그인 된것으로 간주하여 처리를 했는데... 디폴트 즉 로그인이 안된 상황에서 조건문으로 인크루드호출로 처리 했었네요 올바른 방법이려나? ㅎ
들국화 / 2014/08/22 15:00:23 / 추천 0
config 를 설정해 놓고 autoload 하는 방법도 있을수 있겠네요.
변종원(웅파) / 2014/08/22 15:50:03 / 추천 0
전 함수(헬퍼에)를 하나 만들어서 사용합니다.

login_check(3)  : 3은 레벨이구요. 5, 7 등 레벨을 줘서 로그인후 레벨 체크까지 같이 합니다.

사용하고자 하는 컨트롤러의 생성자에 넣어줍니다.

로그인 안되어 있으면 로그인하고 이전 주소로 포워딩, 로그인 되어 있으면 레벨 체크하고 
레벨이 맞으면 패스합니다.

무조건 로그인을 해야한다면 불상님 말씀처럼 hook에서 한번에 처리하는게 좋습니다.
darkninja / 2014/08/22 20:52:10 / 추천 0
controller에서 공통적으로 처리한다던가.. 하는 방법..
간단하긴 한데
전체적으로 좀 무거워지더군요!
웅파님 말씀대로
간단하게 체크하는 함수를 만들어서
필요한 곳에서만 사용하시는게 나을거 같아요.
 
커피요쿠르트 / 2014/08/23 21:17:22 / 추천 0
오옷 많은 의견 정말 감사드립니다.

일단 함수를 이용한 방법으로 진행해보고 hook을 이용한 방법도 알아봐야겠네요.

즐거운 주말 보내시길 바랍니다.
ellder03 / 2014/08/25 23:28:29 / 추천 0
hook : pre-controller  사용 추천드릴께요.
allowUrl(), isLogin() 함수 만드시고
두개 조합하셔서 사용하면 url도 한군데서 관리되고 좋더라구요.
 
커피요쿠르트 / 2014/09/02 01:41:19 / 추천 0
//ellder03
옙 감사합니다. 검색 좀 해봐야겠네요 ㅋ 감사합니다!