我想與Mojolicious使用數據庫會話,而不是使用正在使用簽名cookie的內置數據庫會話。Mojolicious定製會話
在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;
});
而且我想用session對象就像在控制器$self->session
或$self->app->session
。
不幸的是,它不起作用 - 它使用以前的會話(來自不同的瀏覽器)。
這讓我發瘋 - 今天我試過的所有文檔都是這樣 - 我已閱讀所有可用的文檔,也是MojoX::Session
及其所有相關類的源代碼,嘗試以大約923847293847239847的方式使其工作,但似乎沒有任何事情做到。
PS:我在db中創建了session
表。
你知道我應該怎麼做才能使用Mojolicious的數據庫會話嗎?
我怎麼比其他控制器的其他文件訪問會話。謝謝! – PMat 2012-09-05 13:55:32