2010-07-12 3 views
0

이 문제와 관련하여 궁금한 점이 몇 달째 있었지만, 아직 코드 이그니 터 내부에서 이러한 딜레마를 해결할 수있는 방법을 찾은 사람이 있는지 궁금합니다. 그것의 붙박이 회의의 이상으로 빗나가게하기보다는 오히려.Code Igniter의 "Remember me"기능

기본적으로 사용자의 사용자 이름 또는 전자 메일 주소와 암호를 입력하는 로그인 양식이 사용자에게 제공됩니다. "내 정보 기억"확인란은 또한 사용자에게 제공되며 로그인 기간을 연장하는 역할을합니다.

CodeIgniter의 세션 문제는 (A) 브라우저를 닫을 때 만료되지 않으며 (B) 사용자 간 방식으로 세션의 길이를 변경할 수 없으며 전체적으로 만 가능합니다 (내 경험으로).

쿠키 모델/도우미를 사용하면 이러한 세션에 몇 가지 추가 관리를 추가 할 수있는 방법이 있다고 가정합니다. 그러나이 과정을 그리는 데 어려움을 겪기 전에 다른 사람이이 분야에서 뭔가 해본 적이 있는지 알고 싶습니다. CodeIgniter와 관련하여 몇 가지 코드/논리를 제공 할 수 있습니다. 이전에 쿠키/세션 기반 로그인 시스템을 작성했지만 CodeIgniter는이 영역에서 약간의 딜레마를 제공합니다.

도움이 필요하십니까?

답변

0

죄송하지만, CodeIgniter의 세션은 미친입니다. 세션을 서버에 저장하지 않고 쿠키에 저장합니다. 내 충고는 대신 네이티브 PHP 세션을 사용하는 것입니다 (플러그인이 있는지 확실하지 않습니다). 이것들은 서버 측에 저장됩니다. session_set_cookie_params 함수를 사용하여 조건부로 조건부로 쿠키 수명을 연장 할 수 있습니다.

제 대답은 CodeIgniter와 관련이 없지만 사용하기를 바랍니다.

사용자 가이드의 EDIT : this page에는 세션을 DB에 저장하는 방법이 언급되어 있습니다. 좋아

+0

구성 파일을 사용하면 쿠키 대신 데이터베이스 (서버 측!)에 세션을 쉽게 저장할 수 있습니다. 그러나 많은 사람들이 여전히 염려하고 있으며, 암시 해 주듯이 다른 사람들과의 기본 세션을 사용하는 플러그인이 있습니다. – Kurucu

+0

충분히 공정하면 데이터베이스 저장소로 변경할 수 있습니다. 답변에 메모를 추가했습니다. 그러나 나는 아직도 그것이 네이티브 세션보다 낫다는 것을 확신하지 못합니다. 이러한 플러그인에 대한 링크를 제공 하시겠습니까? 나는 이것을 커뮤니티 위키로 만들 것이다. – igorw

+0

네 ... 아마도 원시 세션/쿠키를 사용할 클래스를 작성하려고합니다. – LinuxGnut

0

이것 좀 봐, 내가 사용한 적이 뭔가 (작은 약간의 변경 작업을 수행했을 수 있습니다) :

http://codeigniter.com/wiki/PK_Session/

이 방법, 당신은 CodeIgniter의 세션 기능의 동안을 유지 할 수 있습니다 단순히 그것에 추가.