RubyCAS-Server에서 작동하려면 어떻게 로그아웃해야 합니까?
-
09-06-2019 - |
문제
내 컴퓨터에 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') :
저는 gem 버전 0.6을 사용하고 있습니다.RubyCAS-Server의 마이그레이션을 보면 해당 테이블에 사용자 이름 열이 전혀 없어야 하는 것처럼 보입니다.
왜 이런 일이 일어나고 이에 대해 내가 무엇을 할 수 있는지 아는 사람이 있습니까?
해결책
이 문서에 자세히 설명된 대로 gem의 0.6 버전에 버그가 있는 것 같습니다(Rails 2.1의 파인더에 대한 변경 사항과 일치할 수도 있음). 버그 티켓.그동안 시도해 볼 수 있는 방법은 다음과 같습니다. 소스 트리에서 설치.
다른 팁
Ruby CAS의 경우 두 가지 종류의 세션이 있습니다.
(1).신청 세션.
(2).싱글 사인온(SSO) 세션.
애플리케이션 세션을 관리하기 위해 sinatra-session gem을 사용할 수 있습니다. 세션_끝! 애플리케이션 세션을 파괴하는 도우미 메소드입니다.SSO 세션을 삭제하려면 세션[:cas_ticket] 로그아웃 경로의 매개변수입니다.
예:
Sinatra의 경우: get '/logout' do
session_end! # provided by sinatra-session gem
session[:cas_ticket] = nil # session variable set by CAS server
end