2011-04-02 90 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名稱。