2

私は ASP.NET MVC の初心者で、MVC 5 の組み込みの認証方法を使用する Web サイトを構築しようとしています。

これまでに行ったことは次のとおりです。

  1. AspNetUsers テーブルに多数のユーザーを作成しました。
  2. AspNetRoles テーブルに多数のロールを作成しました。
  3. RoleID と UserID を接続することにより、AspNetUserRoles テーブルを介してユーザーにロールを割り当てます。

ここで、admin ロールを持つユーザーに特定のコンテンツのみを表示し、それ以外の場合は非表示にする単一のページをセットアップするために、次のようにしました。

@if(User.IsInRole("Admin")) 
{
    <p>You are logged in as an admin.</p>   
} else
{
    <p>You are not logged in as an admin.</p>
};

これは大丈夫ですか、それとも悪いですか?私はかなり長い間それをいじりましたが、期待どおりに機能します(私が知る限り)。

CustomAuthorizationAttributes を作成し、これらを Controller の ActionMethods に割り当てることができることは知っていますが、この構文に 100% 慣れているわけではありません。

4

1 に答える 1

2

構文に問題がなければ、これで問題ありません。

ただし、ビュー自体を Authorize 属性で保護することを忘れてはなりません。次のようにデフォルトを使用できます

[Authorize(Roles = "Admin")]
public ActionResult Register()
{
...
return View();
}
于 2014-02-19T08:22:34.200 に答える