2008-09-15 23 views
0

Ich habe RubyCAS-Server und RubyCAS-Client auf meinem Rechner installiert und eingerichtet. Login funktioniert perfekt, aber wenn ich versuche ich aus dem RubyCAS-Server diese Fehlermeldung abzumelden erhalten:Wie bekomme ich Logout um auf RubyCAS-Server zu arbeiten?

Camping Problem! 

CASServer::Controllers::Logout.GET 

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

Ich bin mit der Version 0.6 des gem. Wenn man sich die Migrationen im RubyCAS-Server ansieht, sieht es so aus, als ob in dieser Tabelle überhaupt keine Benutzername-Spalte vorhanden sein sollte.

Weiß jemand, warum das passiert und was ich dagegen tun kann?

Antwort

0

Scheint, es gibt einen Fehler in der Version 0.6 des Gem (möglicherweise zusammen mit Änderungen an Finder in Rails 2.1) wie in dieser bug ticket beschrieben. In der Zwischenzeit können Sie versuchen installing from the source tree.

+0

Dank - Installation von Quellbaum (Revision 312) perfekt funktioniert. Freue mich auf 0.7. – larssg

0

Im Fall des Rubins CAS gibt es zwei Arten von Sitzung:

(1). Die Anwendungssitzung

(2). Die Einzelanmeldung (SSO) -Sitzung.

Sie können Sinatra-Sitzung Juwel für die Verwaltung der Anwendungssitzung verwenden und einfach session_end verwenden! Hilfsmethode, um die Anwendungssitzung zu zerstören. Um die SSO-Sitzung zu zerstören, deaktivieren Sie den Parameter session [: cas_ticket] in der Logout-Route.

Beispiel:

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