杨桢 |
然之设计时是有guest理念的,比如在app\sys\common\model.php第711行,代码如下
如果session丢失,则会默认当前登录用户为guest,这个设计虽然在session丢失之后不会影响页面的权限控制,但是存在一个问题,就是签到和签退都没有过滤account。代码如下(app\oa\attend\control.php第246行)
修复方法很简单,只需要在两个函数的开头都加上如下代码(涉及语言包的自己整理)
if ($this->app->user->account == 'guest') {
最后,分析一下什么情况会导致session丢失: 1、登录后长时间不操作,导致服务器session超时; 2、登录后手动清空了浏览器的cookie信息、会话信息、全部缓存等(下图为火狐Firebug方法)
|
刘刚 |
退出系统的日志是在user-logout里记录,官方已经处理。
|