Wie kann ich logout auf RubyCAS-Server zu arbeiten?
-
09-06-2019 - |
Frage
Ich habe installiert und eingerichtet RubyCAS-Server und RubyCAS-Client auf meinem Rechner. Login funktioniert perfekt, aber wenn ich versuche, bekomme ich diese Fehlermeldung aus dem RubyCAS-Server abzumelden:
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. Mit Blick auf den Wanderungen in dem RubyCAS-Server es wie es aussieht sollte keinen Benutzername Spalte in dieser Tabelle überhaupt sein.
Wer weiß, warum dies geschieht und was kann ich dagegen tun?
Lösung
Es scheint, gibt es einen Fehler in der 0,6-Version des Edelsteins (möglicherweise mit Veränderungen Findern in Rails 2.1 gemacht zusammenzufällt), wie in diesem detaillierten Bug Ticket . In der Zwischenzeit könnte man versuchen, aus dem Quellbaum installieren.
Andere Tipps
Im Fall des Rubins CAS gibt es zwei Arten von Sitzung:
(1). Die Anwendungssitzung.
(2). Das Single Sign On (SSO) Sitzung.
Sie können sinatra-Sitzung gem für die Verwaltung der Anwendungssitzung und einfach zu verwenden, Session_End! Hilfsmethode zu zerstören die Anwendungssitzung verwenden. Für die Zerstörung der SSO-Sitzung ungesetzt die session [: cas_ticket]. Parameter in 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