私は自分のサイトでフォームベースの認証を使用しています。ログインページには次のものがあります。
FormsAuthentication.SetAuthCookie(user.userName, true)
ユーザーが認証されているかどうかを確認したい場合は、次のようにします。
HttpContext.Current.User.Identity.IsAuthenticated
Asp.netメンバーシップを使用していませんが、代わりにSQL-DB検証 を使用していますが、Asp.netメンバーシップを使用する必要がありますか?
これはほとんどの場合私のために働いています問題は時々5時間後か30時間後に何かがアプリケーションプールが何らかの理由で再起動されることです(私は共有サーバー上にいます)そしてその後「User.Identity.IsAuthenticated」ユーザーが再度ログインするまで、毎回falseで戻ります。
クライアントがまだ永続的なauthCookieを持っていることがわかるので、これは私には奇妙です。なぜユーザーは認証されないのですか?
私のWeb.Configリファレンス:
<authentication mode="Forms">
<forms
name="AuthCookie"
loginUrl="~/mySite/ManageLogin.aspx"
timeout="5256000"/>
</authentication>
どんな助けでもありがたいです。
私のサイトwww.mentallica.co.il