Как мне выйти из системы для работы на RubyCAS-Server? - PullRequest
0 голосов
/ 15 сентября 2008

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

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

Ответы [ 2 ]

0 голосов
/ 02 декабря 2014

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

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

(2). Сеанс единого входа (SSO).

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

пример:

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

0 голосов
/ 15 сентября 2008

Кажется, есть ошибка в версии 0.6 для gem (возможно, совпадающая с изменением, внесенным в finders в Rails 2.1), как описано в этом билете об ошибках . А пока вы можете попробовать установить из дерева исходных текстов .

...