2011-04-02 117 views
2

我有三个应用程序,我想为了可管理性而单独保存。它们按照建议的here作为Plack服务器运行,代理后面的nginx。跨Catalyst应用程序共享验证

我想有一个单独的应用程序来管理登录,并通过所有其他应用程序共享该登录及其身份验证过程,并通过角色进行授权。

我想使用Catalyst :: Authentication :: Store :: DBIx :: Class进行存储。

我已经尝试用Catalyst :: Authentication :: Credential :: Remote在Plack级别管理身份验证,在催化剂级别(这将是理想的),但似乎无法使催化剂的登录看到应用。

感谢您的帮助。

回答

3

共享商店很简单 - 您可以使用DBIC会话存储并在所有应用程序中复制配置,也可以使用__PACKAGE__->config行创建DBIC存储的子类,其中包含所有这些应用程序有共同之处,然后在会话配置中指定您的子类。

至于状态 - 你可以使用国家::饼干如果的应用共享一个共同的域名 - 你只需要设置cookie_domain和/或cookie_path选项在会话配置,以便获得饼干设置的方式是所有应用程序都可以看到它,并且在所有应用程序中将cookie_name配置选项设置为相同的内容,否则它们将根据不同的应用程序类名称获得不同的Cookie名称。