포럼

 

제로보드시절 사이트 로그인 시 얼마만에 접속했다는 메시지를 띄우는 기능을 만들어서 사용했습니다.

 

XE에서도 있었으면 좋겠다라는 생각으로 애드온 개발을 시작하지만..

 

생각지 못한 난관에 부딪히고 맙니다..

 

로그인 처리는 member 모듈에서 doLogin() 함수를 이용하여 처리하는데...

 

이 부분이 실행되기전이나 안으로 침투(?)할 방법이 없었습니다....(제가 실력이 부족해서 모르는 것일 수도.ㅎ.ㅎ)

 

그래서 완전 포기하고 잊고 지내고 있었습니다.

 

그러던 중  DRAWHOLIC님께서 최근 로그인 시간이 나왔으면 좋겠다라는 의견을 보고

 

개인적으로 얼마만에 로그인했는지 체크해주는... 그런 애드온을 만들어보려 했으나,

로그인하는 한 시점을 잡지 못해서 포기했습니다...

 

라는 댓글을 달았습니다.

 

말그대로 시점을 못잡아서 ... 문제였는데...

 

왜냐면 doLogin이 실행되면 바로 로그인 시간을 갱신하기 때문이지요...

 

그러다가 완전히 다른 쪽으로 생각을 해봤습니다...!

 

어차피 로그인할 때 ID는 입력하니까!!

 

로그인이 실행되기 전에 id 값을 기준으로 lastlogin 을 구한 후 세션으로 저장하면 되지 않을까?!

 

기본적으로 폼필드로 넘어온 값은 $_GET['필드명'] 이나 Context::get('필드명');으로 불러올 수 있습니다.

 

그래서 id값을 받아서 query를 돌려서 lastlogin 값을 우선 변수로 할당합니다.

 

하지만 로그인이 실패했을 경우에는 저장할 필요가 없기 때문에

 

그냥 그대로 리턴해버리고...로그인이 성공했을 경우 아까 저장했던 변수를 세션으로 저장합니다.

 

 

로그인 성공여부를 확인하는 방법은....

 

다음과 같은 포지션을 잡고

 

if($called_position == 'after_module_proc' && Context::get('act') == 'procMemberLogin'){

 

}

 

$output->error 값이 0이면 로그인 성공 0이 아니면 기타 에러... 입니다..(로그인실패)

 

 

이런식으로 하니 성공합니다..!

 

하지만... 개인적으로는 모르겠습니다.

 

저는 이쪽에 전문가가 아니다보니... 로그인 시도시마다 디비 쿼리를 날리기 때문에... 어떤 상황이 벌어질 지는 모르겠네요..

그래서 쿼리 자체는 lastlogin만 받아오도록 해놔서... 딱히 문제가 되진 않을 거라 생각은 됩니다만...

 

 

네.. 아무튼... 그 외에 이전 시간 정보를 출력하기 위해 별도로 세션을 할당해놨고..(추가기능)

 

이전 접속 시간에 따라 알림창을 띄울 건지 설정도 추가해봤습니다...

 

 

아무튼 생각을 조금 바꾸면 이런 것도 가능하구나... 라는 걸 알게된 계기였던 것 같습니다.

글쓴이 제목 최종 글
숭숭군 포인트 어떻게 '사용' 하고 계신가요? [4] 2014.09.04 by 용초딩
ひりゅう. xe 캐시설정시 use일까요 user일까요? [4] 2014.09.04 by ひりゅう.
죽방망이 네이버 웹문서 노출...9월달부터. [6] 2014.09.04 by oscarmike
사랑해요XE 카페24 호스팅을 사용하고 있는데 cloudflare 도 함께 사용가능한가요? [6] 2014.09.04 by Luatic™
SeungXE XE 사이트 잠금기능 활용법  
가을풍경 문득 동영상 쇼핑몰을 만들려면 어떨까 생각합니다. [2] 2014.09.03 by 가을풍경
고코루리 howlogin 애드온 개발 히스토리 [10] 2014.09.03 by sejin7940
공수래 1.7.5.7 버전에서 레이아웃 설정에 문제가 있는듯.... [1] 2014.09.02 by treasurej
착한악마 다들 XE 알림센터 Lite 잘 사용하시나요? [27] 2014.09.02 by BJ람보♡羅仕茹羅小白
銀童 XE 정도면 그래도 호환성 되게 많이 신경쓰는 편이죠. [2] 2014.09.02 by 키스투엑스이
토끼매니아 xe의 가장 큰단점은... [16] 2020.03.14 by eple123
prologos 과도한 새로고침 행위 방어 애드온 [34] file 2014.08.28 by 사랑해요XE
AJKJ XE 1.7.5.2 js/css를 CDN에 올려두었습니다. (jsdelivr) [13] 2014.09.02 by boy2
oscarmike 푸시윙 서비스 잘 이용하고 계신가요? [9] 2014.09.01 by 로이조52
착한악마 혹시 다국어 사이트 제작시 이것 해보신분~~  
브라운아이스 스팸 회원가입 막기 ???? [6] file 2014.09.01 by 신평
uoou 다음 인증메일 되시는분 계시나요? [8] 2014.08.29 by DoS™
LI-NA 모바일과 PC 동시 자동로그인? [8] 2014.08.27 by boy2
말똥이 클라우드 플레이가 미국을 거쳐갑니다. [2] file 2014.08.27 by Luatic™
뮤르시엘라고 심각한 회원가입 스팸 ㅋㅋ [15] 2014.08.26 by Icarus