我正在尝试使用 Mojolicious 的数据库会话,而不是使用签名 cookie 的内置会话。
在startup
子程序中,我有类似的东西:
my $dbh = DBI->connect(
$config->{database}->{dsn},
$config->{database}->{user},
$config->{database}->{password},
);
my $session = MojoX::Session->new(
store => [dbi => {dbh => $dbh}], # use MojoX::Session::Store::Dbi
transport => 'cookie', # this is by default
ip_match => 1
);
(ref($self))->attr( 'session' => sub {
return $session;
} );
我想在控制器$self->session
中使用会话对象。$self->app->session
不幸的是,它不起作用 - 它使用以前的会话(来自不同的浏览器)。
这让我发疯 - 我今天尝试的只是让这项工作 - 我已经阅读了所有可用的文档,MojoX::Session
以及所有相关类的来源,尝试了大约 923847293847239847 种方法来使其工作,但似乎没有任何作用.
PS:我在session
数据库中创建了表。
你知道我应该怎么做才能在 Mojolicious 中使用 DB 会话吗?