0

我已经在我的机器上安装并设置了 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 中的迁移,看起来该表中根本不应该有用户名列。

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

4

2 回答 2

0

似乎在 0.6 版本的 gem 中有一个错误(可能与 Rails 2.1 中对查找器所做的更改一致),详见此错误票。同时,您可以尝试从源代码树安装

于 2008-09-15T16:38:36.277 回答
0

在 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

于 2014-12-02T08:09:30.737 回答