设计需要双重登录

时间:2011-11-18 10:53:18

标签: ruby-on-rails ruby devise

我使用Devise 1.4.9获得了Rails 3.0.9应用程序。我在登录屏幕上遇到了一些问题。我想我已经理解了这个问题,因为我之前在C应用程序中修复了类似的问题。但是这次我只是使用设计,所以修复源代码更难......

基本模式是我退出应用程序,这会将我带到这样的URL:http://10.0.0.25:3000/devise/users/sign_in

然后我回家,第二天回来工作,上面的地址仍在浏览器中打开。我输入密码,但我收到一条消息说我的会话已经过期,我必须重新输入密码。

进行有根据的猜测,当用户显示sign_in页面时,设计会创建一个当前未登录的新会话。当用户提交页面时,设计检查会话是否存在,然后检查凭据。出于安全原因,凭据不适用于过期(或未知)会话。

C应用程序中的修复是允许从未登录过的会话超时。一旦会话登录,它确实需要在相对较短的非活动延迟后注销,所以只需改变config.timeout_in是不够的。

编辑:我注意到将超时设置为1分钟,未登录的会话超时不会改变为一分钟(事实上我还没有真正注意到它是否完全改变了......)所以必须有其他东西来做这件事。

此外,我意识到会话未登录时,会话cookie中没有时间存储,所以我甚至不确切知道服务器如何确定会话时间(我没有服务器端会话)表)。

0 个答案:

没有答案