これらのいくつかが同じ質問をしているように見えますが、これまでのところどの解決策もうまくいかなかったので、何か間違っているかどうかを確認したかったのです. asp.net MVC を使用して作成しているサイトがあります。現在、フォーム認証を使用して、匿名ユーザーがサイトを閲覧できないようにしています。そのコードは次のとおりです。
<authentication mode="Forms" >
<forms loginUrl="~/login" timeout="15"/>
</authentication>
次に、ユーザーにuserNameとパスワードを入力させ、情報が正確な場合はauthcookieを作成するログインコントローラーを用意しました。
if (password == encryptedPassword)
{
FormsAuthentication.SetAuthCookie("user", true, model.userName);
}
これらはすべて Firefox と Chrome で機能し、ユーザーがログインした後、サイトを閲覧できます。ただし、IE では、ユーザーを匿名ユーザーとして認識し続けるため、ログイン画面に戻り続けます。確認したところ、次のページに入るとすぐに Auth Cookie が作成されないか、保持されません。これを修正する試みのいくつかには、web.config で Cookieless を使用することが含まれていました。動作する唯一のものは、実際に Cookie を URI に入れるものであり、サイトに対してそれを使用することはできません。次に、 ticketCompatibilityMode="Framework40" を設定しようとしましたが、そこにも運がありませんでした。
英数字以外の文字を含むドメイン名にバグが見られました。現在、IP を使用してドメインに直接アクセスしているため、この問題が発生するかどうかはわかりませんが、ローカル ホストでさえ同じ問題に悩まされています。任意の入力をいただければ幸いです。