CAS と phpCAS を使用して、PHP スクリプトと CAS の間のアクションを処理します。より高度な Web アプリケーションの 1 つでは、CAS は認証のみに使用され、セッション管理には使用されません。ログアウト スクリプト中に、特に CAS セッションを強制終了したいと考えています。ただし、ブラウザーで何らかのアクションが発生することなく、phpCAS をリモートで呼び出して CAS セッションを強制終了する方法を特定できません。
phpCASのドキュメントから:
phpCAS::logout()
ログアウト後、CAS サーバーはログアウト ページを出力します。phpCAS::logoutWithRedirectService($service)
ログアウト後、CAS サーバーはブラウザを指定された URL にリダイレクトします。
オプション #1 は、CAS ログアウト ページにリダイレクトします。オプション #2 は、特定の URL にリダイレクトします。どちらでもないオプションが必要です。
次のコード スニペットを検討してください。
//Kill the CAS session
phpCAS::logout();
//Kill the cookie
setcookie("our-cookie");
//Unset hash in the database
$result = pg_query($connection, "UPDATE table SET field = null WHERE field = '".pg_escape_string($var)."'");
ブラウザをどこかにリダイレクトする phpCAS のデフォルト アクションは、この機能を壊します。このスクリプトはブラウザーをリダイレクトすることはなく、非同期的に呼び出され、現在のビューを変更する ExtJS コールバックに変数が返されます。
この機能を実行できるようにするために、phpCASの有無にかかわらず、CASサーバーに強制的にセッションを終了させる方法を知っている人はいますか?