我启用了 enable_single_sign_out: true。
我有两个应用程序,一个在 Rails 中,另一个在 Django,
我希望当我登录一个应用程序时,我会刷新我的另一个应用程序,然后我会自动登录。
山姆的方式,如果我从一个应用程序中退出,并刷新其他应用程序,我也会退出它。
如何使用 rubycas-server 实现这个场景。
目前,当我登录一个应用程序并转到第二个应用程序并单击登录时,它将自动登录。但我必须分别明确注销这两个应用程序。
我启用了 enable_single_sign_out: true。
我有两个应用程序,一个在 Rails 中,另一个在 Django,
我希望当我登录一个应用程序时,我会刷新我的另一个应用程序,然后我会自动登录。
山姆的方式,如果我从一个应用程序中退出,并刷新其他应用程序,我也会退出它。
如何使用 rubycas-server 实现这个场景。
目前,当我登录一个应用程序并转到第二个应用程序并单击登录时,它将自动登录。但我必须分别明确注销这两个应用程序。
我不了解 Django 客户端(rubycas-server 文档说目前并非所有客户端应用程序都支持单点注销)但是为了让 Ruby CAS 客户端支持单点注销,您需要执行以下操作(在客户端应用程序):
Rails 会话存储必须设置为 ActiveRecord:
config.action_controller.session_store = :active_record_store
服务器必须能够读取和写入 RAILS_ROOT/tmp/sessions。如果您处于集群环境中,则该目录的内容必须在所有服务器实例之间共享。
必须禁用跨站点请求伪造保护。在您的 application.rb:self.allow_forgery_protection = false
中 (或者更确切地说,您可能只想对 CAS 过滤器后面的操作禁用伪造保护。)
更多信息可以在这里找到:https ://github.com/gunark/rubycas-client#readme