제목 | hook로 로그인 관리 | ||
---|---|---|---|
글쓴이 | 녹차마왕 | 작성시각 | 2016/04/28 10:25:09 |
|
|||
안녕하세요. 어제 질문드렸던 hook문제가 해결이 안되어 질문드립니다. 로그인 체크 자동화 -> http://www.codeigniter-kr.org/bbs/view/tip?idx=8009&page=4&view_category=&lists_style= 위의 분과 비슷한것을 만드는중인데요. 1. application/config/config.php 에서 false -> true 2. hook 설정 $hook['pre_controller'] = array( 'class' => 'SiteFilter', 'function' => 'loadFilter', 'filename' => 'sitefilter.php', 'filepath' => 'hooks'); 3. 해당 파일 작성 <?php class SiteFilter extends CI_Controller { public function loadFilter() { echo "test"; } }?> <script>alert("filter");</script>
위처럼하면 제가 적용하고자 하는 사이트에서 echo와 alert가 정상적으로 모든 페이지를 탈떄마다 확인됩니다. 그런데 해당 페이지들의 다른 item들이 사라지는 현상 -> db에서 가져오는 데이터를 보여주는 부분이 모두 없어집니다. 혹시 어떤 현상인지 알 수 있을까요?
|
|||
다음글 | 컨트롤러단이 너무 커질때 ???? (3) | ||
이전글 | 안녕하세요 코드이그나이터 입문자인데요.(퍼블리셔/프로그... (2) | ||
kaido
/
2016/04/28 10:27:51 /
추천
0
혹시 hook 에서 db를 불러오시나요?
|
녹차마왕
/
2016/04/28 10:42:01 /
추천
0
kaido/ 아니요 위처럼 기본적인 echo "hi";만 하는 hook를 만들었습니다. 저같은 경우에는 빈 후크에서 echo를 추가하는 순간 echo는 매번 찍히는데 나머지 데이터들은 사라지는 현상이 있었습니다.
|
kaido
/
2016/04/28 11:47:17 /
추천
0
아무래도 오해가 있지 않나 싶습니다. 훅 이라는 애는 [세션/쿠키]을 제외한 나머지 데이터는 유지하지 않습니다. 컨트롤러와 훅은 연결된 개념이 아니라, 훅은 별도로 프로세스가 돌아간다고 이해하셔야합니다. db 데이터를 유지하고 싶다면 다시 불러오셔야 합니다. 즉 매번 훅따로 컨트롤러 따로입니다. |
kaido
/
2016/04/28 11:53:27 /
추천
0
밑에 질문하신 글을 보니 hook 보다 route 쪽이 더 알맞는게 아닌지 생각 듭니다.
특정 주소를 직접 접근하면 접근이 안되게끔 하거나, 실제주소와 다르게 위장 한다는 말씀이신거죠?
그럼 route 와 _remap을 사용해서 주소를 위장하고, hook은 주소만 체크 하는 기능을 넣으시면 원하시는 기능이 될것 같습니다. |
변종원(웅파)
/
2016/04/28 13:06:28 /
추천
0
hook에서 화면 출력을 하지 마시고 세션이나 쿠키로 데이터를 저장했다가 뷰나 컨트롤러에서 출력해보세요.
|
푸하라
/
2016/04/28 13:37:59 /
추천
0
훅보다 코어사용이 좀더 좋지 않을까요??? MY_Controllers 를 상속시켜 좋고 처음 드러 올때 _remap 을 불러와 처리하면 되지 않을까 ??? |
녹차마왕
/
2016/04/28 14:03:14 /
추천
0
kaido, 웅파, 푸하라 // 모두 좋은 의견 감사합니다. 웅파님 말씀대로 echo 출력을 hook에서 안하고 로직만 실행할경우 문제없이 실행되어 로그인 유효성체크를 할 수 있었습니다. 모두 감사합니다!!
|