perl - Mojolicious session 过期与 default_expiration

标签 perl session timeout mojolicious

我有一个程序,我希望 session 数据在请求后的绝对纪元时间到期。我不希望每个请求的过期时间都更新。

default_expiration 有效,但不会过期。

这不起作用:

post '/access' => sub {
    my $self = shift;
    my $user = $self->param('username');
    if ($self->authenticate($user, $self->param('password'))) {

        ### Set this otherwise timeout refreshes for every request...
        $self->session(expires => time + 120);
        (...)
    }
};

Mojolicious cookie 默认设置为 1 小时(3600 秒)...

$self->sessions->default_expiration(120) 有效,但会针对每个浏览器请求重置。

我正在使用 Mojolicious::Plugin::Authentication 插件。

最佳答案

您可以使用expiration键设置与 default_expiration 相同的值。不过,在设置该值之前,请务必检查该 key 是否已存在,如果存在,请勿覆盖它。

关于perl - Mojolicious session 过期与 default_expiration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103375/

相关文章:

java - 为什么 EJB session bean 的名称为 "session"?

session - 如何跨多个Web应用程序,多个微服务跟踪 session

java - 是否有用于解码 php session 数据的 Java 库?

java - Hibernate 中的操作超时

javascript - 如何重用 setTimeout

c++ - 仅在连接失败时使 libcURL 超时

perl - 从 Perl 创建的文本文件是否有行长限制?

regex - 是否存在可以从文件中特定的一组行中删除一行的正则表达式,Perl或sed?

regex - perl 中的 s-/-- 和 s-/\Z-- 是什么意思?

java - 有 OpenGrok API 吗?