2月の累積更新でSP1の後に働いていないことを忘れないでください
-
09-12-2019 - |
質問
最近、SP1と2月の累積更新でサーバーをアップグレードしました。すべてがうまくいっているようでしたが、私たちは私たちの覚え忘れている私たちの機能が正しく機能していないことに気づいています。セッションクッキーを使用していないため、Security TokenServiceではまだFormStokenLifetimeの値が正しく設定されています。
クロスドメイン認証のクロスドメイン認証のために(カスタムメンバーシッププロバイダとクレームを使用しているFBAを使用して)2つのクッキーを書いていて、どちらのCookieは書き込まれると有効な有効期限があります。ただし、可変の時間の後、ユーザーが[ログアウト]をクリックしたようにクッキーは消えます。
これは15分後に起こり、時には数時間後に起こります。ブラウザを閉じるとこれが起こるようにトリガーされず、サイトが開いているタブに戻ってログインしたときにログアウトが表示され、ログインしたときにログアウトが表示され、ログインしたときに表示されます。
私は、SP1または2月の更新が私たちの問題の原因である可能性があるかどうかを誰かが知っているのであったのは疑問に思いました。
解決
多くのデバッグの後、私たちの問題を引き起こしていたものを理解することができました。
何らかの理由で、私たちのアプリプールは一日を通して頻繁にリサイクルされていました。現場に積極的に取り組んでいたユーザーは、私を覚えていたことを確認した場合、クッキーを失っていました。
私たちのカスタムチャンククッキーハンドラで私たちが持っていたコードはHttpContext.userプロパティをチェックし、それはNULLでした(そして誰かがスタッフであるかどうかを判断するためにそれを必要としていました)、それはFedauth Cookieを期限切れでした。
httpContext.userプロパティに頼らないようにコードを変更することができ、永続的なCookieは現在アプリプールのリサイクルを生き残った。
私たちがまだわからないことは、私たちのアプリプールがそんなにリサイクルしていた理由です。私たちはセットを設定しません。私たちはそれらの監視を設定し、そしてもちろん起こるのをやめた。