最近、サイトをClassic ASPからASP.Net 3.5に更新しました。ASP.NETメンバーシップユーザーログインエラーCookieの問題
古いサイトでは、Cookieベースのログインシステムを使用していました。 初めてログインしたときにチェックボックスが選択されていると、ユーザーのログイン情報が覚えています。これはもちろんクッキーで行われます。
次に、ASP.netを使用してサイトをアップグレードしました。 古いユーザーを組み込みのASP.netメンバーシップ認証に転送しました。
本当に奇妙なこと以外は素晴らしいです。 ユーザーがサイトにログインしてもログイン情報を格納していたサイトの古いCookieがあると、ASP.net認証がクラッシュするようです。
エラーメッセージはありません。いかなる種類の情報もありません。
ユーザーがログインしようとしましたが、エラーメッセージは表示されず、ログインページに戻されます。
古いクッキーを見ているようで、何をすべきか分かりません。
古いサイトと新しいサイトのドメイン名は同じです。
これは、以前に行ったことのない新しいユーザーには発生しません。
古いサイトのユーザーがブラウザでクッキーを消去した場合、正常にログインでき、エラーは再び発生しません。
ユーザーは5000人ですが、すべてのユーザーにCookieをクリアするように指示することはできません。
web.configの次のコード行で設定を変更しようとしました。
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~\User\Login.aspx" defaultUrl="~\Default.aspx" timeout="26280000" />
</authentication>
しかし、それが助けられているかどうかはわかりません。
ご協力いただければ幸いです。
ありがとうございました
は、それが動作しない、それを試してみました。古いCookieが新しいCookieに干渉してはならないことは分かっていますが、古いユーザーにログインさせる唯一の方法は、まずCookieをクリアすることです。他に何か起こっていることがありますか? – matwonk
これを複製できるマシンはありますか?もしそうなら、火かき棒やその他のツールを使ってクッキーを調べることができます。また、コード内の古いCookieへの参照を削除してください。 – gbs
私はついにそれを手に入れました。クッキーは同じ名前を使用していました。古いサイトは同じ名前を使用していましたが、小文字でも大文字の大文字を使用しているサイトでは大丈夫だと考えられていましたが、同じCookieと見なされました。 – matwonk