2008-09-15 6 views
0

J'ai installé et installé RubyCAS-Server et RubyCAS-Client sur ma machine. Connexion fonctionne parfaitement, mais lorsque je tente de déconnecter je reçois ce message d'erreur du RubyCAS-serveur:Comment se déconnecter pour fonctionner sur 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') : 

J'utilise la version 0.6 de la gemme. En regardant les migrations dans le serveur RubyCAS, il semble qu'il ne devrait pas y avoir de colonne de nom d'utilisateur dans cette table.

Est-ce que quelqu'un sait pourquoi cela se produit et que puis-je faire à ce sujet?

Répondre

0

Il semble qu'il y ait un bug dans la version 0.6 de la gemme (coïncidant éventuellement avec la modification apportée aux trouveurs dans Rails 2.1) comme détaillé dans cette bug ticket. En attendant, vous pouvez essayer installing from the source tree.

+0

Merci - l'installation de l'arbre source (révision 312) fonctionne parfaitement. Dans l'attente de 0,7. – larssg

0

Dans le cas du CAS il ruby ​​sont deux types de séances:

(1). La session d'application

(2). La session d'authentification unique (SSO).

Vous pouvez utiliser la gemma sinatra-session pour gérer la session d'application et utilisez simplement session_end! méthode d'assistance pour détruire la session d'application. Pour détruire la session SSO, désélectionnez le paramètre session [: cas_ticket] dans la route de déconnexion.

exemple:

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

Questions connexes