ビューにアクセスするためにユーザーがログインしていることを確認する
これを実現する最も簡単な方法は、コントローラーのアクションメソッドの上にあるAuthorize属性を使用することです。たとえば、ユーザーがすでにサイトにログインしている場合にのみ、ユーザーがパスワードを変更できるようにします。許可されていないユーザーがパスワード変更ビューに到達するのを防ぐために、次のようにアクセスを制限できます。
[Authorize]
public ActionResult ChangePassword()
{
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
return View();
}
次のようにUserオブジェクトをチェックすることにより、これを手動で実行することもできます。
public ActionResult ChangePassword()
{
if (!User.Identity.IsAuthenticated)
return RedirectToAction("LogOn", "Account");
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
return View();
}
ビューにアクセスするためにユーザーが特定のロールに属していることを確認
する特定のロールのユーザーのみがアクセスできるビューがある場合があります。これは、次のようなAuthorize属性を使用して実行することもできます。
[Authorize(Roles = "Administrator")]
public ActionResult Index()
{
return View();
}
次の方法を使用して、コードでもこれを実行できます。
public ActionResult Index()
{
if (!User.IsInRole("Administrator"))
return RedirectToAction("LogOn", "Account");
return View();
}
参照:ロールプロバイダーとメンバーシッププロバイダーの使用