CI 묻고 답하기

제목 모든 곳에서 로그인 여부 체크하기...
글쓴이 마PD 작성시각 2016/02/12 13:03:28
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 18162   RSS

안녕하세요!

무작정 '만들면서배우는 코드나이터 프레임워크' 책 사서 삽질중인 뉴비 입니다. ㅎㅎ

 

이것저것 만들던 중, 관리자 툴을 만들게 되었습니다.

기능들은 다 구현했는데...

이 모든 기능들을 로그인을 한 사용자만 이용 가능하도록 하려고 하는데...

딱히 방법이 떠오르지 않더라구요...

(책에는 이런 내용이 없어요!! ㅎㅎ)

 

로그인 하지 않은 사람은 모든 페이지에 접근이 불가능하고, 딱 로그인 페이지로만 접근이 가능하도록....

혹여나 링크를 통해서 접근하더라도 로그인(세션)이 없으면 다시 로그인 페이지로 강제이동!

 

구글링을 해보니...

포럼에 옛 TIP 글이 나오더라구요.

http://codeigniter-kr.org/bbs/view/tip?idx=8009

한두번 읽어봐서는 이해가 잘 안되서 떠듬떠듬 따라하는 중입니다만....

여전히 이해는 잘 안되네요 ㅠㅠ

 

혹시 더 좋은 방법이 있을까요?

hooks 를 사용하는게 가장 좋을거 같긴한데...

메뉴얼을 읽어봐도 쉽게 이해를 못하겠네요 ㅎㅎ

 

아니면 위 팁 글을 그대로 따라하면 되긴 될까요?

 다음글 모델 관한 질문 (3)
 이전글 페이지네이션 작동이 되질 않습니다. (5)

댓글

수야디벨 / 2016/02/12 13:12:52 / 추천 0
저 링크에서 나와있는데로 하시면 될것같아요. 모든 페이지에서 공통으로 처리해야 한다면 hooks에서 처리하는게 가장 좋다고 생각합니다~
해행행 / 2016/02/12 13:14:06 / 추천 0
저는 세션을 가지고 접근합니다
수야디벨 / 2016/02/12 13:20:08 / 추천 0

해행행/

그럼 '세션이 없을때 로그인 하지 않은 사용자' 라는 코드는 어느영역에 넣어두어야 하나요?

kaido / 2016/02/12 13:22:35 / 추천 0

후킹에서 세션으로 처리 하면 됩니다.

http://cikorea.net/bbs/view/qna?idx=12879&lists_style=

밑에 분 질문 하신 것인데... 응용하시면 될것 같습니다.

해행행 / 2016/02/12 13:24:23 / 추천 0

//수야디벨

따로함수를하나 만들어서 페이지마다 로딩해주는게 좋지않을까요?

굳이 어느영역에라곤 말을 못하겟네요.

수야디벨 / 2016/02/12 13:28:37 / 추천 0

헤행행/

kaido님 말씀처럼 후킹에서 세션으로 처리하면 될것같습니다.

어차피 질문이 "모든 페이지에서 전부 체크"해야 될 거면 따로 헬퍼를 만들어서 해당 컨트롤러에서 그때그때 호출하는건 

상당히 비효율적이라고 생각합니다. 

훅으로 세션체크하면 될것같아요 :)

만약 관리자만 체크하고 싶다면 훅으로 세션체크할때 uri 세그먼트 체크해서 관리자 폴더의 컨트롤러를 따로 if처리해주면 됩니다.

해햏행님 방법은 모든 페이지가 아닐때 , 드문드문 페이지에서 체크할때 사용하면 좋을거 같습니다 ~

마PD / 2016/02/12 13:39:36 / 추천 0

헉.

잠깐 구글링하며 삽질하다 왔더니 댓글이 많이 달렸네요! ㅎㅎㅎㅎ

 

훅으로 진행중이고, 본문에 있는 팁글을 따라하는중인데... 작동을 안하네요 ㅠㅠ 어디서 잘못한걸까요....

로그인 여부는 세션으로 하려고 합니다. 세션값 중 'userid'가 존재하면 로그인 사용자, 존재하지 않으면 로그인하지 않은 사용자.

 

그래서 훅에서 해당 세션값이 존재여부에 따라 리다이렉트를 시켜주려고 하는데...

세션도 못불러오고, 리다이렉트도 전혀 작동하지를 않네요;;;;

메뉴얼 내용은 너무 간략해서.... ㅠㅠ 어디 더 찾아보거나 참고할만한 자료가 있을까요? 구글링 해도 키워드를 못잡는건지 잘 찾지를 못하겠네요

kaido / 2016/02/12 13:55:52 / 추천 1

http://cikorea.net/bbs/view/lecture?idx=12894&page=1&hit=not&lists_style=

참고하세요. 방금전에 만든 따근따근한 링크입니다. ㅎ

마PD / 2016/02/12 14:16:25 / 추천 0

오오!

감사합니다!

따라했더니 이젠 쉽게 쓸 수 있네요!!!

 

그 다음 문제에 봉착했습니다...

리다이렉트 시키는 것까지는 성공했는데, 그 페이지는 검사하면 안되는데 거기서도 검사해버리네요 ㅋㅋㅋㅋ

이걸 예외처리 시켜야할 것 같은데... 그 방법을 모르겠네요 ㅠㅠ

최초 팁글에서 allow 가 그 역할을 하는거 같은데... 이거에 대한 정보를 찾을수가 없네요 ㅠㅠ