0

私は MVC に非常に慣れていません。これは、MVC を使用してサイトを作成する最初の試みであり、単純なメンバーシップです。私が扱っている要件は、役割と権限の両方を使用する必要があるということです。

そのため、役割と同じように機能する追加の承認方法が必要です。たとえば、これが機能する必要があります: [AuthorizeUser(Permission = "Browse")]

カスタム承認属性を作成するための例を複数見つけましたが、これまでのところ、実際に機能したものはありません。渡された値が失われ、null 値の例外が発生し続けます。

同様の質問が複数見つかりましたが、それらで見つけたコードが機能しません。以下は、さまざまなスタックオーバーフローの質問にあるコードに基づいて試したサンプルです。


public class AuthorizeUser : AuthorizeAttribute
    {
        public string AccessLevel { get; set; }
     protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            var isAuthorized = base.AuthorizeCore(httpContext);
            if (!isAuthorized)
            {
                return false;
            }

            // My method to get permisions
            userPermissions=getpermsions();


            if (userPermissions.Contains(this.Permission))//**** problem line
            {
                return true;
            }
            else
            {
                return false;
            }
        }

}

問題は次の行です: if (userPermissions.Contains(this.Permission))

this.Permission は常に null です。これの複数のバリエーションを試しましたが、常に null です。

他の代替手段を使用できますが、これが機能しないことに夢中になっています。そうあるべきだと思われます。

4

1 に答える 1