제목 | default controller의 플로우?에 대해 궁금한 점이 있습니다. | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | rawPHPoverCI | 작성시각 | 2017/01/16 16:57:28 |
|
|||
현재 사용하고 있는 어플리케이션에서 main에는 로그인 기능이 있고 로그인은 auth라는 컨트롤러에서 확인 후 session data에 필요한 데이터를 바인딩하고 main으로 다시 리다이렉션합니다. 문제는 domainurl로 접속을 했을 시 로그인을 하면 www.domainurl 로 리다이렉션되면서(base_url이 www.- 형태입니다) 로그인이 되지 않는다는 점입니다. 세션 데이터를 찍어도 바인딩이 안 되어 있습니다. 이 때, 다시 domainurl을 쳐서 들어가면 *세션 데이터가 바인딩되고 로그인이 됩니다. 그렇게 로그인을 강제한 후(세션 데이터가 생기고 난후) www.domainurl으로 *들어가보면 당연하게도 로그인되어 있습니다(세션데이터 유무로 로그인 여부를 판별함) 그리고 처음부터 www.domainurl으로 접속을 한 뒤 로그인을 하면 *정상적으로 로그인 된 상태로 www.domainurl으로 리다이렉션 됩니다.
추가적으로, auth에서 로그인 성공/실패 시 그에 맞는 flashdata를 설정하는데 이 역시 위의 첫 로그인 시점들인 *들에서 나타납니다.
A record에 www.-도 등록해놓은 상태인데 제가 dns 같은 것에 대해 정확히 몰라서요... 어떻게 해결할 수 있을까요? |
|||
다음글 | 어제 서버관리자님이 봐주셧는데..해결이안됐네요 PHP... (14) | ||
이전글 | CI_Controller not found 문제..... (5) | ||
kaido
/
2017/01/16 17:25:46 /
추천
0
|
rawPHPoverCI
/
2017/01/16 20:10:38 /
추천
0
@kaido 질문 수정했습니다 다시 한번만 알려주실 수 있나요?
|
rawPHPoverCI
/
2017/01/16 20:21:59 /
추천
0
제가 생각해 본 가능한 해결책으로는 base_url이 현재 url의 origin을 그대로 쓰는 방법이 있을텐데, 아무래도 url이라는 것은 js쪽에서 건드리는 것이고 만약 가능하다고 해도 그에 따라 서버php(ci)의 base_url 값이 유동적으로 변하는 것은 유저가 한명이 아닌 이상 오히려 불편할 가능성이 있을 것 같습니다. 혹시 user-friendly하게 base_url을 유동적으로 쓰는 방법이 있을까요?
|
kaido
/
2017/01/17 08:40:22 /
추천
0
@rawPHPoverCI 쪽지로 답변 드렸습니다.
요약하면 도메인을 하나로 통일 시키던가, 아니면 로그인 처리 할때 처리 하는 방법이 있습니다.
로그인 관련 라이브러리들을 참고해 보시면 어떤 방법으로 처리 하고 있는지 명쾌하게 나와있습니다.
|
default controller 때문에 세션이 생성 안된다거나 하는 이야기는 들어보지 못했습니다.
객체를 복사해서 만들진 않으며, 해당 컨트롤러를 지정해 줄 뿐입니다.
세션이 어디에서 만들어지고 언제 사라지는지 추적을 해보실 필요가 있습니다.
$this->output->enable_profiler(true);
세션 데이터를 페이지별로 확인 해보세요.
물론 리다이렉션 부분 일단 주석 으로 막아놓고 하나 하나 찾아 가셔야 합니다.