【问题标题】:How do I get logout to work on RubyCAS-Server?如何注销以在 RubyCAS-Server 上工作?
【发布时间】:2010-09-08 22:34:39
【问题描述】:

我已经在我的机器上安装并设置了 RubyCAS-Server 和 RubyCAS-Client。登录工作正常,但是当我尝试注销时,我从 RubyCAS-Server 收到此错误消息:

Camping Problem!

CASServer::Controllers::Logout.GET

ActiveRecord::StatementInvalid Mysql::Error: Unknown column 'username' in 'where clause': SELECT * FROM `casserver_pgt` WHERE (username = 'lgs') :

我正在使用 0.6 版的 gem。查看 RubyCAS-Server 中的迁移,看起来该表中根本不应该有用户名列。

有谁知道为什么会发生这种情况以及我能做些什么?

【问题讨论】:

    标签: ruby single-sign-on cas


    【解决方案1】:

    似乎在 0.6 版本的 gem 中存在一个错误(可能与 Rails 2.1 中对查找器所做的更改一致),如bug ticket 中所述。同时,你可以试试installing from the source tree

    【讨论】:

    • 谢谢 - 从源代码树(修订版 312)安装完美。期待0.7。
    【解决方案2】:

    对于 ruby​​ CAS,有两种会话:

    (1)。应用程序会话。

    (2)。单点登录 (SSO) 会话。

    您可以使用 sinatra-session gem 来管理应用程序会话,并且只需使用 session_end! 辅助方法来销毁应用程序会话。要销毁 SSO 会话,请取消设置注销路由中的 session[:cas_ticket] 参数。

    示例:

    如果是 Sinatra: get '/logout' do session_end! # provided by sinatra-session gem session[:cas_ticket] = nil # session variable set by CAS server end

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多