포럼
위젯 캐시와 권한 문제
2013.09.16 08:27
아시는분들은 다들 아시지 않을까싶은데, 공홈에서 관련문제 얘기가 나온걸 못본것같아서 적습니다.
일단 저는 코어 1.5버전대를 씁니다.
코어 수정을 많이 해서 당분간 1.7로 업데이트는 어려울것같아요.
처음 발견하게 된것은 플래너 위젯 설정중이었고요.
비밀글이 위젯에 노출되어 개발자님께 문의 도중에 위젯 캐시 문제로 발생하는 문제라는걸 알게 되었습니다.
위젯 캐시를 0으로 두면 아무런 문제가 없으나 1 이상으로 두면 비밀글이 노출되었어요.
위젯을 새로 생성해서 레이아웃에 붙이면 잠깐은 괜찮았다가 잠시후 비밀글 노출이 되고, 약 1~2초가 지나면 다시 비밀글이 안보입니다.
짐작하기로는 캐시 시간이 지나면 한번씩 노출이되는것같더라고요.
처음에는 이게 플래너 위젯만의 문제인줄 알았습니다.
그런데 제가 사용을 포기했던 위젯이 하나 있었습니다.
사이트맵 위젯인데요.
오래된 위젯이지만 1.5에도 호환이 되길래 사용을 하려고 했더니....
관리자에게만 보이게 되어있는 메뉴도 노출이 되더군요.
해서 사용을 포기 했었습니다.
당시 캐시는 20160 였습니다. 업데이트가 필요 없는 페이지라고 생각해서 팁글에서 본대로 넣었죠.
플래너 위젯 캐시를 0으로 둬야 한다는걸 알게 되고나서 사이트맵 위젯을 다시 설치하고, 위젯 캐시를 0으로 넣어봤습니다.
그러자 관리자에게만 보이게 되어있던 메뉴가 보이지 않게 되었습니다.
위젯 자체에 권한설정이 있을경우 위젯 캐시가 0이어야 작동이 되는거죠.
이런 문제를 겪으시는분이 많지는 않겠지만 혹시 계시면 참고하시라고 적어둡니다.
덧: 그런데 캐시 0으로 두고 사용하자니 당장은 문제가 없지만 이용자 몰리면 어떻게 될까 좀 겁이 나네요.
이문제 해결할 방법 아시는분 계.....신가요?
댓글 4
-
컴매냐
2013.09.16 08:46
-
딸꾹질
2013.09.16 09:09
-
銀童
2013.09.16 10:02
현재 위젯 시스템으론 해결할수가 없습니다.
왜냐하면 위젯 캐시는 최종적은 위젯 출력을 캐시해두게 됩니다. 그런경우에,
비밀글을 작성한 , 혹은 비밀글을 읽을수 있는 권한이 있는 사람이 그 위젯을 생성하게 되면, 비밀글이 잠시동안 노출되는 것입니다.
캐시 생성 시점에서 요구를 보낸 사람의 권한에 따라서 정해지는거죠. 그리고 캐시 지정된 기간동안은 그 캐시가 그대로 유지되기때문에, 캐시를 사용할경우에는 사람의 권한에 따른 캐싱 출력이 불가능합니다.
그래서 이런경우에는 저는 외부페이지를 통해서 위젯을 두개로 분할해서 사용합니다
<!--@if($logged_info->is_admin == 'Y')-->
관리자가 볼 비밀글등이 포함된 위젯
<!--@else-->일반 유저가 볼 비밀글 등이 없는 위젯
<!--@end-->
이렇게 진행하게 되면 위젯 캐시를 설정해도 권한에 따라서 자유롭게 사용이 가능합니다.
-
딸꾹질
2013.09.26 00:34
감사합니다. 덕분에 사이트맵 위젯의 권한문제를 해결했어요.
캘린더 위젯은 게시판 주소를 가져오는데에 관리자 권한이 필요한지....
권한이 없는 아이디로 위젯페이지만 권한을 줘서 수정을 해도 소용이 없네요.
캐시파일 재생성 해보면 도로아미타불......
비밀글이 권한과 상관없이 아예 안보이게 하는 방법을 찾아봐야겠습니다.
도움 감사드립니다.
채팅위젯은 당연히 캐시 0으로 두고 쓰고 있습니다.
본문에 얘기한것은 채팅위젯이 아닙니다.