如何更改 Plack Session 的名称?

How to change Plack Session's name?

我在同一个域上有两个应用程序,但每次用户登录时它们都会创建一个 plack_session。这是因为应用程序 A 覆盖了应用程序 B 的 plack 会话。

删除其中一个名称并让它们使用由中央应用程序创建的名称是一个复杂的过程,但现在,我如何才能将其中一个 'plack_session' 名称更改为 'plack_session2' 所以他们看不到对方?

我什至不知道这是否可能。

这是 Plack Session 的 document,但我在这里看不到任何可以帮助我的东西。

如您 link 的文档所示,Plack 会话中间件使用如下代码启用:

builder {
    enable 'Session',
        state => Plack::Session::State->new;
    $app;
};

稍后在同一文档中,您将找到 new() 方法的文档:

new ( %params )

The %params can include session_key, sid_generator and sid_checker however in both cases a default will be provided for you.

session_key

This is the name of the session key, it defaults to 'plack_session'.

...

将所有这些放在一起,我猜(而且我从来没有这样做过)你可以用这样的代码做你想做的事:

builder {
    enable 'Session',
        state => Plack::Session::State->new(
          session_key => 'my_session_key',
        );
    $app;
};