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