0

システムが特定のページへのアクセスを許可する前にユーザーの役割をチェックするメカニズムを実装する最良の方法は何ですか? また、「スーパー」ロールを持つユーザーなど、ページ内のリンク/アクションを有効にするために、データを削除/編集できる一方で、残りのユーザーはデータのみを表示できますか?

参考までに、私は ASP.NET MVC (webapp に埋め込まれた .mdf データベースでユーザーが作成される) からすぐに使用できるユーザー管理を使用しませんが、独自のユーザー モジュールを開発しました (認証、登録用)。およびユーザーの削除)。

だから..この問題のベストプラクティスは何ですか?

4

1 に答える 1

2

カスタムを記述しますValidationAttribute: http://msdn.microsoft.com/en-AU/library/system.componentmodel.dataannotations.validationattribute.aspx

基本的に、から継承しValidationAttribute、オーバーライドしますIsValid()

public class IsAnAdminAttribute : ValidationAttribute {
    protected override bool IsValid(object obj) {
        if (Membership.UserInRole("admin"))
            return true; // they can access it
        else
            return false; // can't access it
    }
}

..次に、それをコントローラー アクションに適用します。

[HttpGet]
[IsAnAdmin]
public ActionResult MyAction() {
    // only administrators can access this now
}
于 2013-07-08T04:15:48.090 に答える