2008-09-15 8 views
0

Я установил и настроил RubyCAS-Server и RubyCAS-Client на моей машине. Войти работает отлично, но когда я пытаюсь выйти из системы, я получаю сообщение об ошибке от RubyCAS-сервера:Как получить выход из работы на 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 драгоценного камня. Если посмотреть на миграцию на RubyCAS-сервере, похоже, не должно быть столбца имени пользователя в этой таблице.

Кто-нибудь знает, почему это происходит и что я могу с этим поделать?

ответ

0

Похоже, что ошибка в версии версии 0.6 (возможно, совпадает с изменениями, внесенными в поиск в Rails 2.1), как подробно описано в этом bug ticket. Тем временем вы можете попробовать installing from the source tree.

+0

Спасибо - установка из дерева исходных текстов (версия 312) отлично работает. С нетерпением ждем 0,7. – larssg 2008-09-16 01:54:52

0

В случае рубинового CAS существуют два вида сессии:

(1). Сессия приложения.

(2). Сеанс Single Sign on (SSO).

вы можете использовать кристалл sinatra-session для управления сеансом приложения и просто использовать session_end! вспомогательный метод для уничтожения сеанса приложения. Для уничтожения сеанса единого входа отключите параметр [: cas_ticket] в маршруте выхода из системы.

пример:

В случае Синатры: get '/logout' do session_end! # provided by sinatra-session gem session[:cas_ticket] = nil # session variable set by CAS server end