0

私はC#.netアプリケーションでFormsAuthenticationを使用しており、FormsAuthentication.RedirectFromLoginPageまたはFormsAuthentication.SetAuthCookieを呼び出す直前に、ユーザーがログインするたびにデータベーステーブルに追加して、ログイン時間を記録しています。

これは正常に機能します。

ただし、createPersistentCookieを使用すると、ユーザーが次にサイトにアクセスしたときに、FormsAuthenticationが自動的にログインし、ロジックが起動されません。

サイトに戻ったときにユーザーが最初に認証されたときに発生するイベントはありますか?

FormsAuthentication_OnAuthenticateとApplication_AuthenticateRequestを試しましたが、どちらもページの読み込み中に複数回発生します。ページの読み込みのために1回起動し、ハンドラー(ashx)が呼び出されるたびにもう一度起動すると思いますか?

ユーザーのCookieがセッションで初めて使用されるタイミングを知る方法が必要です。

ありがとう。

4

1 に答える 1

0

FormsAuthenticationまたは組み込みイベントを介してそれを行う方法があるようには見えないので、代わりに、現在のセッションでログインが記録されているかどうかを記憶するためにSession変数を使用しました。

現在のユーザーのIDが照会されるたびに、Session変数が存在するかどうかを確認します。そうでない場合は、作成してその時点でログインを記録します。

于 2012-05-26T16:47:47.880 に答える