はじめに

のんびりと更新を続けている、MVCシリーズです。
今回はサインインしているユーザーを確認する方法を記事にしてみました。
まぁ、簡単なので記事にするほどでもないのですが、一連の流れですので簡単に書いてみます。

認証の確認をするには?


必要なところに、[Authorize]と書くだけでいい

サンプル

[Authorize]
public ActionResult ChangePassword()
{
    ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
    return View();
}

たったこれだけで、認証によるページの制御ができます。
ChangePasswordのページへサインインしていないユーザーが訪れると、サインインの要求ページが表示されます。サインインしないとそのページが見れなくなります。

では、その時のサインインを求めるページはどこで定義されているのでしょうか?
「Web.Config」を開いてみてください。
<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

認証されていなユーザーがアクセスした場合、loginUrlに記述していあるUrlへ移動します。

設定に関しては、以下のページに詳しく載っています。
■authentication の forms 要素 (ASP.NET 設定スキーマ)
http://msdn.microsoft.com/ja-jp/library/1d3t3c61(v=vs.80).aspx

おわりに

これで、認証ページの制御ができたので、簡単なアプリケーションなら作れるかと思います。
次回は、もう少し機能の多いページを作るための記事を書いてみたいと思います。

ロールか? プロファイルか?

調査環境

VS2010 + MVC2
ASP.NET
C#

更新日

2011/05/22:アップ