0

Bonita に問題があり、回避しようとしましたがうまくいきませんでした。Bonita、Alfresco、Liferay に対して CAS で認証しています。初めて CAS で認証するときはすべて正常に動作しますが、Liferay からログアウトすると (CAS から自動的にログアウトするはずです)、現在の Bonita セッションが終了しません。次に CAS でログインすると、Liferay と Alfresco のセッションは正しくなります (新しいユーザーに属します) が、Bonita セッションは変更されません (古いユーザーはまだ接続されています)。誰かがこの問題に遭遇しましたか? はいの場合、これに対する可能な修正は何ですか?

この問題に関する洞察は非常に高く評価されます、ありがとう!

4

1 に答える 1

0

問題が何であるかを理解するのに数回の困難な試みの後、私はこれを行うことができました. どうやら、Bonita によって作成されたセッション Cookie に問題があったようです。パス「/bonita」を持つ Cookie JSESSIONID は、CAS がそのセッションを破棄したときに破棄されず、どういうわけかその存在が再作成を妨げていました。Bonita の Cookie 名を JSESSIONID とは異なる名前に変更しました。これは、ブラウザーに同じ名前の Cookie が他にもあり、Bonita の context.xml ファイルで Cookie のパスを「/bonita」から「/」に変更したためです。次に、Liferay のテーマが (ページの更新時に) リロードされるたびにこの Cookie を削除する JavaScript コードを追加し、古い Cookie が確実に破棄されるようにしました。その後毎回、Bonita の URL にアクセスすると、更新された Cookie が新しい CAS セッションから再作成され、すべて正常に動作しているように見えます。より良いアプローチは、CAS ログアウト jsp ページで Cookie を破棄することですが、このようにすることはできませんでした。

于 2014-04-04T15:58:14.997 に答える