C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■96410 / )  Re[9]: 初回認証時の判断
□投稿者/ WebSurfer (2165回)-(2020/11/20(Fri) 18:31:58)
No96408 (naomin さん) に返信

ExpireTimeSpan と SlidingExpiration をどう設定するのですか? それによって話は変わってきますが。

例えばセキュリティ重視で ExpireTimeSpan は 30 分、SlidingExpiration は無効に設定すれば、使い方
によってログイン回数に大差は出ないので、Login ページでログインしたら 1 回とカウントするだけで
よさそうです。

しかし、デフォルトの ExpireTimeSpan 14 日、SlidingExpiration 有効のままにしておくと話は違って
きます。

> @ログインページ(/Account/Login)でID、パスワードを入力してログインすると1回ログインとしてカウント。

セキュリティを気にする人は必ずログアウトしたり履歴/クッキーを削除する反面、何も気にしない人は
ログインしっぱなし&一日中ブラウザを立ち上げっぱなしにするかもしれません。

なので、「1回ログインとしてカウント」の回数の意味が人によって違ってくるはずで、何らかのウェイ
ティングをかけけないと数字に意味がなさそうに思うのですが。

そんなことは考える必要は無くて、とにかく 1 回ログイン操作をしたらカウントということで良いの
ですか?

> A前回ログイン時にRememberMeにチェックしていた場合、新規にブラウザを起動してサイトにアクセス
> したら1回ログインとしてカウント

RememberMe にチェックするということは、認証クッキーを応答ヘッダに入れてクライアントに送る際
expires=...; が付与される、即ちクッキーが HDD/SSD に保存されるので、ブラウザを閉じても次に
アクセスする際 HDD/SSD からクッキーを取得して送信するのでログイン操作が不要になるということ
です。

一方、チェックを入れない人はブラウザを閉じるたびクッキーは失われるので、次にアクセスする際
ログインしなければなりません。

ExpireTimeSpan 14 日、SlidingExpiration 有効にしておくと、RememberMe にチェックを入れた人は
将来ずっとログイン操作はしなくて済かもしれません。

それ考えて、質問者さんは、RememberMe にチェックをいれたユーザーは「新規にブラウザを起動して
サイトにアクセス」を 1 回とカウントと考えたのだと思います。

そのウェイティングが適当かの議論は置いといて、新規にブラウザを起動したかどうかはサーバー側
では分からないという問題があります。

それはどうするのでしょう?
返信 編集キー/


管理者用

- Child Tree -