Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

아무래도 모듈은 아직 어떻게 만들어야할지 어려워서

애드온을 제작중입니다.

 

로그인 후 1회만 작동하면 되는데

항상 켜두면 매페이지 로딩될떄마다 작동할것 같아 서버 부하나 로딩시간에 지장이 많이생길것같아서

걱정입니다.

 

로그인 모듈을 건들 순 없고  트리거에 추가를 어떻게 하면좋을것 같은데

혹시 로그인 후 1회만 작동하는 애드온에 IF문이 있을까요?

 

감사합니다.

  • profile

    내가 끼어들 타이밍이 아니라면 빨리 리턴하는 것이 상책이죠.

     

    로그인 POST 요청시에 작동해야 한다면 addTriggerFunction을 사용해서 member.doLogin 트리거에 콜백함수를 붙이거나, procMemberLogin 액션 전후에만 실행하도록 하면 됩니다.

     

    로그인 직후에 GET하는 페이지에서 작동해야 한다면 조금 더 까다롭습니다. GET 페이지 하나만 놓고 보면 로그인 직후인지 알 수가 없거든요. 위와 같이 로그인 POST 요청할 때 끼어들어서 세션에 변수 하나를 세팅해 놓고, GET 요청할 때마다 해당 변수를 확인해서 만약 있다면 1) 로그인 직후다! 2) 또 실행되지 않도록 세션 변수를 삭제하셔야 합니다. 즉, GET 요청할 때마다 약간의 로직을 실행하는 것은 피할 수 없습니다.

     

  • profile profile
    procMemberLogin 로 넣어서 해결했습니다 감사합니다.
  • profile
    모듈까지는 만드는거 부담스럽고 뭔가 딱 한번만 실행하겠다 라는 시나리오라면 로그인 후 애드온에서 뭔가 실행할때 ./files/checkfile/ 디렉토리 만들고 member_srl 번호 따서 000.txt 파일을 저장하시던가 member_srl.txt 파일에 한줄씩 member_srl 을 넣으시던가 해서 체크 하시면 되지 않을까요?