1

短縮版:

関数wwv_flow_custom_auth_std.is_session_valid(またはapex_custom_auth_std.is_session_valid)がTRUEを返す場合、セッションが期限切れになっているがまだ生きている可能性はありますか?もしそうなら、セッションが期限切れになっているかどうかをどのように確認できますか?

ロングバージョン:

このチュートリアルに大まかに基づいて、OracleAPEXアプリケーション用のシングルサインオンシステムを作成しました。

http://www.oracle.com/technology/oramag/oracle/09-may/o39security.html

唯一の違いは、マスターSSOログインが別のAPEXアプリではなくPerlで行われることです。SSO Cookieを設定し、アプリはそれがデータベースプロシージャで有効かどうかを確認できます。

朝に到着すると、システム全体が機能しないことに気づきました。APEXアプリからページをリロードすると、セッションの有効期限が切れたためSSOページに移動し、ログオンして、元のAPEXアプリページにリダイレクトされます。これは通常、朝の最初のことを除いて機能します。APEXセッションが期限切れになっているようです。その場合、セッションは見つかったようですが、使用を拒否し、ログインページに戻ります。

私は問題を追跡するために最善を尽くしました。「wwv_flow_custom_auth_std.is_session_valid」関数はtrueを返すため、セッションが有効であると想定しています。しかし、APEXセッションCookieを削除するまで何も機能しません。その後、簡単にログインし直すことができます。

セッションが期限切れかどうかを教えてくれる別の電話があるかどうか誰かが知っていますか?

ありがとう

4

2 に答える 2

1

アプリケーションのセキュリティ属性ページで、最大セッション長を秒単位で設定できます。

アペックスは次のように述べています。

「セッション期間は、12 時間以上前のセッションを削除する 8 時間ごとに実行されるジョブの操作に取って代わられる場合があります。」

ビューapex_040100.APEX_WORKSPACE_SESSIONSを使用して、セッションの存在または作成時間に基づいてセッションが有効かどうかを判断できます。例: session_created - systdate > 12Hours.

「On session timeout direct to this URL」属性も使用する必要があります。

于 2014-01-13T01:50:43.707 に答える