名称

Mojolicious::Sessions-基于签名Cookie的会话管理器

简介

使用Mojolicious::Sessions;my$sessions=Mojolicious::sessions->new;$sessions->cookie_name('myapp');$sessions->default_expiration(86400);

描述

Mojolicuis::会话基于签名的Cookie管理会话Mojolicious公司。所有数据都用序列化Mojo::JSON和存储在客户端编码的Base64,但使用HMAC-SHA256签名防止不必要的更改。

属性

Mojolicuis::会话实现以下属性。

我的$domain=$sessions->cookie_domain;$sessions=$sessions->cookie_domain('.example.com');

会话cookie的域,默认情况下未定义。

我的$name=$sessions->cookie_name;$sessions=$sessions->cookie_name('session');

会话cookie的名称,默认为有魔力的.

我的$path=$sessions->cookie_path;$sessions=$sessions->cookie_path('/foo');

会话cookie的路径,默认为/.

默认过期(_E)

我的$time=$sessions->default_expiration;$sessions=$sessions->default_expiration(3600);

会话从现在起的默认过期时间(秒),默认为3600。将刷新每个请求的过期超时。将值设置为0将允许会话持续到浏览器窗口关闭,但这可能会带来安全隐患。为了获得更多控制,您还可以使用过期到期会话值。

#从现在起以秒为单位的到期日期(在请求之间持续)$c->会话(过期=>604800);#过期日期作为绝对纪元时间(仅对一个请求有效)$c->会话(过期=>时间+604800);#通过设置过去的到期日期删除整个会话$c->会话(过期=>1);

反序列化

我的$cb=$sessions->反序列化;$sessions=$sessions->反序列化(子($bytes){…});

用于反序列化会话的回调,默认为Mojo::JSON中的“j”.

$sessions->反序列化(子($bytes){return{}});

同一场地

我的$samesite=$sessions->samesite;$sessions=$sessions->samesite(“严格”);

在所有会话cookie上设置SameSite值,默认为拉克斯。请注意,此属性是实验性的因为尽管大多数常用的浏览器都支持该功能,但除此之外还没有规范这张汇票.

#禁用SameSite功能$sessions->samesite(undef);

保护

我的$bool=$sessions->secure;$sessions=$sessions->secure($bool);

在所有会话cookie上设置安全标志,以便浏览器仅通过HTTPS连接发送它们。

序列化

我的$cb=$sessions->serialize;$sessions=$sessions->序列化(子($hash){…});

用于序列化会话的回调,默认为Mojo::json中的“encode_json”.

$sessions->serialize(子($hash){return“”});

方法

Mojolicuis::会话从继承所有方法Mojo::基础并实现了以下新功能。

负载

$sessions->load(Mojolicious::Controller->new);

从签名的cookie加载会话数据。

商店

$sessions->store(Mojolicious::Controller->new);

将会话数据存储在签名的cookie中。

另请参阅

Mojolicious公司Mojolicious::指南https://mojolicious.org.