ユーザー認証の機能を持ったサンプルアプリケーションの作成
それでは、AspProvidersプロジェクトを使用して、Windows Azure上で動作するユーザー認証の機能を持ったサンプルアプリケーションを作成してみましょう。
サンプルの概要
Visual Studio 2010では、新しいWebアプリケーションを作成すると、ユーザー認証などの基本的な機能を持ったサンプルアプリケーションが自動生成されます。Windows AzureのWebロールプロジェクトの作成時も同様です。しかし、既定ではメンバーシップ機能のデータ格納先としてSQL Server Expressを使用していますので、これをWinodws Azureストレージに変更してみましょう。そして、Default.aspxにログイン中のユーザー名と割り当てられている権限を表示するようにしてみましょう(図3、図4)。
サンプルの作成
それでは、サンプルを作成してみましょう。以下の手順で作成します。
[1]クラウドサービスプロジェクトを作成し、Webロールを追加する
Visual Studioを管理者として実行し、新たにクラウドサービスプロジェクトを作成します。プロジェクト名は「AzureMembershipSample」とします。次に、クラウドサービスプロジェクトを作成すると表示される[新しいクラウドサービスプロジェクト]ダイアログボックス中で、「ASP.NET Webロール」を一つ追加します。
プロジェクト作成後、ソリューションエクスプローラーで確認すると[AzureMembershipSample]ソリューションと、その下に[AzureMembershipSample]クラウドサービスプロジェクトと[WebRole1]Webロールプロジェクトの2つが作成されたことが分かります。Webロールプロジェクトの中には、[Account]フォルダーが存在し、ASP.NETのメンバーシップ機能を使用したユーザー認証関連のページや機能が既に含まれていることも確認できます(図5)。
[2]AspProvidersプロジェクトを追加する
前節でダウンロードしたAspProvidersプロジェクトを、ソリューションに追加します。
ソリューションエクスプローラーで、[AzureMembershipSample]ソリューションを右クリックし、[追加]の[既存のプロジェクト]をクリックします。表示された[既存プロジェクトの追加]ダイアログボックスで、インストール先の[WAPTK]フォルダーを展開し、[Labs\BuildingMVCAppsWithWindowsAzureVS2010\Source\Assets\AspProviders]フォルダー内にある[AspProviders.csproj]を選択し[開く]ボタンをクリックします(図6)。
すると、ソリューションに[AspProviders]プロジェクトが追加されます(図7)。
[3]AspProvidersプロジェクトの参照を追加する
WebRole1プロジェクトで、AspProvidersプロジェクトの参照を追加します。
ソリューションエクスプローラーで、[WebRole1]Webロールプロジェクト内の[参照設定]を右クリックし、[参照の追加]をクリックします。表示された[参照の追加]ダイアログボックスで[プロジェクト]タブをクリックし、[プロジェクト名]の一覧から[AspProviders]を選択し[OK]ボタンをクリックします(図8)。これで、参照設定にAspProvidersが追加されます。