署名付き 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;
} );
$self->session
そして、コントローラーのようにまたはコントローラーでセッションオブジェクトを使用したいと思います$self->app->session
。
残念ながら、これは機能しません。以前のセッション (異なるブラウザーからのもの) を使用します。
これは私を夢中にさせます-今日私が試みたのはこれを機能させることだけでした-利用可能なすべてのドキュメント、ソースMojoX::Session
とそれに関連するすべてのクラスを読み、約923847293847239847の方法で機能させようとしましたが、何もうまくいかないようです.
PS:session
データベースにテーブルを作成しました。
Mojolicious で DB セッションを使用できるようにするために何をすべきか知っていますか?