案外知られていない気がする MachineKey ですが、これを Web.config に書いておかないとフォーム認証でエラーが出て悩まされるんですよね。
今後は時間を無駄にしないためにも MachineKey は最初の方で生成して、Web.config に書くようにすればいいと思います。でも作り方がよくわからないと思うので、簡単にですがまとめておきます。
まずは MachineKey のことを知っておきましょう。最近はちゃんと日本語で説明があるのでありがたいですね。
machineKey 要素 (ASP.NET 設定スキーマ)
要するにクッキーやビューステートの暗号化・復号化に利用されるキーです。レンタルサーバなどで利用する場合には設定しておかないと、何らかのタイミングで値が変わってしまい、クッキーやビューステートの検証に失敗してエラーが表示されるわけです。
MachineKey の生成方法については KB312906 で書かれています。
書いてある C# コードを使うと MachineKey を生成することができます。簡単ですね。
でも簡単なコンソールアプリを作るだけですが、毎回用意するのはめんどくさいですよね…。私は非常にめんどくさいと思いました。なので私がおススメする方法はこれ。
http://aspnetresources.com/tools/machineKey
ブラウザで machineKey を自動で生成してくれるので、あとは Web.config に張り付けるだけ!最強です。
追記
上で紹介したサイトが無くなっていたので、MachineKey を作成する NuGet パッケージを作りました。
インストールするだけで MachineKey を新しく作成するようになっています。