CI 묻고 답하기

제목 [초보] 항시 로그인을 체크해야할 때
글쓴이 2creative 작성시각 2012/12/27 11:15:43
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14839   RSS
안녕하세요. 코드이그나이터를 접한지 몇일안된^^; 날코딩에 익숙한 MVC는 익숙하지 않은 초보입니다..
단도직입적으로 질문 드려보겠습니다.

CI 로 인트라넷 제작중입니다. 인트라넷이니 만큼 로그인 여부를 매번 체크를 해야하는데요.

일단은 auth_m 이라는 model 을 autoload 해놓고,
auth_m 생성자에서 로그인세션 체크하여 세션이 없을경우 로그인 페이지로 redirect 했거든요..
근데 사실 이건 맞지 않는듯 해서요. model 은 DB처리 전담인데, 화면 컨트롤을 한다는게..

그래서 이럴경우에는 어떻게 처리를 하시나요?
제 생각으로는 개인라이브러리를 만들어 그 라이브러리를 autoload 하고, 생성자에서 세션체크 redirect 를 하는게 맞지 싶은데요..

이런경우 어떻게 하시나요??

참 그리고, 개인라이브러리도 나중에는 점점 커질것 같은데,
로그인용 라이브러리를 따로 만들어서 운용하는게 좋은걸까요??
MVC개념이 약해서 그런가 어렵네요..

답변 부탁드려볼께요!
 다음글 서로 다른 DB의 JOIN (8)
 이전글 세션처리 문제. (2)

댓글

헛발이 / 2012/12/27 11:21:17 / 추천 0
강좌게시판에 로그인관련 강좌가 있습니다..
그 파일을 다운 받아 공부해 보셔도 되고요~

꼭 프레임워크의 장점은 아니지만 프레임워크의 장점이라고나 할까? 그런게 있는데요~
누군가 미리 만들어 놓은걸 그대로 자기거에 적용할 수 있어요...

tank_auth 라는걸로 검색해 보세요~
그래도 코드이그나이터에서 로그인 처리기능이 왠간한거 다 적용되어 있는 라이브러리에요..
여기 포럼도 그걸로 사용중이고 저도 그걸로 사용중이에요...

본인이 직접 만들어도 되지만..그건 나중에 실력이 늘었을때 만들어도 되고
일단 누군가 한것을 구경해 보면 "아하~ 이렇게 하는구나~" 하실거에요~

그럼...
니삼 / 2012/12/27 11:35:15 / 추천 0
후크에서 처리하는 방법도있습니다.
지훈임돠 / 2012/12/27 11:46:10 / 추천 0
구조를 짜는건 항상 고민입니다. ^^
그렇다고 너무 복잡하게 오래 생각한다고 답이 나오는 부분도 아니지요. ㅎㅎ
말씀하신 방법도 좋습니다.
다만, 그 방법에서 있어서 본인 혹은 다른사람이 로그인 관련 시스템을 정비할때
직관적이지는 못하니, 주석을 잘 달아놓으시면 될꺼같습니다.

// 로그인 체크는 라이브러리를 이용함. <--요런식으로요.

개인적인 의견으로는 후크로 처리하는 방법에 한표 던집니다.
2creative / 2012/12/27 11:50:34 / 추천 0

답변 주신 모든분들께 감사드립니다 ^^

변종원(웅파) / 2012/12/27 11:54:14 / 추천 0
저는 admin 작업할때 각 컨트롤러의 생성자에 함수를 하나 넣어서 처리합니다.
그 함수에서 세션이 없으면 로그인 페이지로 리다이렉트 합니다.

hook에서 한번에 처리하는 것도 좋구요.
배강민 / 2012/12/27 14:59:59 / 추천 0
저도 Hook 로 했습니당
2creative / 2012/12/28 10:16:34 / 추천 0
웅파님, 배강민님 감사합니다.
답변 주신분들의 조언으로 hook 로 처리했습니다.

hook는 무조건 별도의 라이브러리를 생성하여 불러들여야 하는줄 알았는데, 그렇지 않더군요.
사실 그게 좀 꺼림칙했거든요. 단 하나의 함수를 위해 별도 파일을 생성하고 로드해야한다는것이요.

하지만 controller 역시 hook 로 호출 할 수 있다는 것을 알게 되어서 말씀해주신대로 해결했습니다.
auth 컨트롤러에 is_logged_in() 함수를 호출하는것으로 해결보았습니다.
코드도 깔끔하고 고민도 해결입니다.

도움주신 분들께 감사합니다.~~
2creative / 2012/12/28 10:18:45 / 추천 0
헛발이//말씀하신대로 tank_auth 다운로드 받아 보았는데 좋더군요.
다만 저희 환경에 바로 적용할 순 없어 참고로 사용했습니다. (copy & paste?ㅎㅎ)
덕분에 자동로그인 환경까지 금방 구현했습니다.
감사합니다~~