1

MVC 4(.NET 4.5)で承認を実装する方法を調べており、特にSimpleMembershipについて読んでいます。名前以外に追加のプロパティを持つロールを持つためのMVCの一般的な方法または受け入れられている方法はありますか?

たとえば、CMSを設計していてWriter、ユーザーが変更できるようなものと呼ばれる役割を持つことができるようにしたいとします。ただし、ロールを1ページに制限することも必要です。私が知っている唯一の方法は、ページごとに個別の役割を設定することです。各役割には、のような名前を付けることができますWriter_<PageID>。これよりも優れたパターンはありますか、それとも私たちができることのほとんどすべてですか?

理想的には、次のようなリモートで何かを実行できる方法があるかどうか疑問に思っています。

public ActionResult EditPage(Page page) {
    WriterRole role = new WriterRole(page);

    if (!User.IsInRole(role)) {
        return NotAuthorized();
    }

    // Edit...
}

それ以外の:

public ActionResult EditPage(Page page) {
    string role = "Writer_" + page.Id;

    if (!User.IsInRole(role)) {
        return NotAuthorized();
    }

    // Edit...
}
4

1 に答える 1

2

私がすることは、1 つの Writer ロールを持ち、UserId をチェックして、その人が編集可能なリソースを所有しているかどうかを確認することです。

[Authorize(Roles = "Writer")]
public ActionResult EditPage(Page page) {
    if (User.UserId == page.UserId) { ... }
}
于 2013-02-21T00:13:55.443 に答える