はじめに

MVCでのフォーム認証について書いてみたいと思います。
認証というのは、Webアプリケーションにとって必須の機能となります。
一度調べてしまえば終わりなのですが、最初の一歩は難しかったります。
そんな悩みを解消できるように、記事にしてみました。
よかったら参考にしてみてください。

フォーム認証

Visual Studioを立ち上げて、新しいプロジェクト「ASP.NET MVC2 アプリケーション」を
作成してみてください。このプロジェクト・テンプレートは、「フォーム認証」を利用しています。

作成後、実行すると以下の画面が表示されると思います。

右上に注目してください。ログオンボタンが出ていると思います。

早速押してみてください。



こんな画面が出たと思います。ログインのテストを行うために、
まず、ユーザーを作ってみましょう。
と、気持ちよくユーザーを登録してみたのですが、作成を行う段階で、下記のエラーが
出て失敗してしまうかと思います。
_provider.CreateUser(userName, password, email, null, null, true, null, out status);
「SQL Server データベースに接続できません。」

これは、
SQL Serverが無いか、認証用の環境がないことを意味しています。

ということで、まずSQL Serverを準備しましょう。
「AILightTest」というDBをSQLServer上に作成してみました。

次に、.NETのシステム・ディレクトリに移動してください。
私の環境では、
「C:\Windows\Microsoft.NET\Framework64\v4.0.30319」
に移動して、「aspnet_regsql.exe」を実行してください。
「ASP.NET SQL Server セットアップ ウィザード」の画面が起動します。


こんな感じで、SQLServerにフォーム認証用のテーブルを追加してください。

次は、「Web.config」を変更します。
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="Data Source=ISHINO-W7;Initial Catalog=AILightTest;Integrated Security=True"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

ここまで環境を整えたら、プロジェクトを実行してみましょう。
今までうまく動かなかった、ユーザー登録が動くようになったと思います。

おわりに

本当は、今回の記事で認証の全てをお伝えしようかと思っていたのですが、
思った以上にボリュームがありますね、次回はログイン情報を利用する方法を
紹介できたらと思っています。

次回も頑張ります。

調査環境

VS2010 + MVC2
ASP.NET
C#

更新日

2011/04/24:アップ