ServiceStack の認証、リポジトリ、およびキャッシング プロバイダーは、コードをほとんど追加せずにログイン セッションを Web アプリケーションに追加する簡単な方法を提供します。認証プロバイダーのセッション タイムアウトを構成できることがわかりました。次に例を示します。
new CredentialsAuthProvider { SessionExpiry = TimeSpan.FromMinutes(10) }
これにより、ログイン時点からの有効期限が提供されます。短時間でユーザーをログアウトする必要がある安全なシステムを開発している場合は、これをデフォルトの 2 週間から上記の例のようなものに変更します。ただし、これには、ユーザーがまだアプリケーションと対話しているかどうかに関係なく、ユーザーがログインしてから 10 分間が追い出されるという問題があります。
サービスが呼び出されたときに有効期限を延長するようにセッション プロバイダーに指示する簡単な方法はありますか?
理想的には、特定のサービス/リクエストのセッションを拡張できるようにすることです (ユーザーがアプリケーションと積極的に対話する場合にのみセッションが拡張されるため、ポーリングされたサービスは無視できます)。
アップデート
神話によって与えられた答えに基づいて、 ResponseFilterAttribute を拡張することによって必要なレベルの制御を提供する単純なソリューションが得られました。