RubyCAS サーバーでログアウトを機能させるにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/62916

  •  09-06-2019
  •  | 
  •  

質問

自分のマシンに RubyCAS-Server と RubyCAS-Client をインストールしてセットアップしました。ログインは完全に機能しますが、ログアウトしようとすると、RubyCAS サーバーから次のエラー メッセージが表示されます。

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 サーバーの移行を見ると、そのテーブルにはユーザー名列がまったくあってはならないように見えます。

なぜこれが起こっているのか、そしてそれに対して何ができるのか知っている人はいますか?

役に立ちましたか?

解決

この gem のバージョン 0.6 にはバグがあるようです (おそらく Rails 2.1 のファインダーに加えられた変更と同時に発生します)。詳しくはこちらをご覧ください。 バグチケット. 。それまでの間、試してみてください ソースツリーからインストールする.

他のヒント

Ruby CAS の場合、2 種類のセッションがあります。

(1)。アプリケーションセッション。

(2)。シングル サインオン (SSO) セッション。

アプリケーションセッションの管理にはsinatra-session gemを使用できます。 セッション終了! ヘルパー メソッドを使用してアプリケーション セッションを破棄します。SSO セッションを破棄するには、 セッション[:cas_ticket] ログアウトルートのパラメータ。

例:

シナトラの場合: get '/logout' do session_end! # provided by sinatra-session gem session[:cas_ticket] = nil # session variable set by CAS server end

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top