Атрибут авторизации - PullRequest
       28

Атрибут авторизации

0 голосов
/ 14 сентября 2011

У меня есть приложение WPF от клиента, к которому мне нужно добавить IsInRoleAtrribute для определенных методов в классе.

Итак, я создал свой класс IsInRole вот так, в качестве теста;

namespace CustomAttributeSample
{
    [System.AttributeUsage(System.AttributeTargets.Method)]
    public class IsInRoleAttribute : Attribute
    {
        public string Role { get; set; }

        public IsInRoleAttribute()
        {
            //open the xml file
            XmlDocument xmlDocument = new XmlDocument();
            xmlDocument.Load("Data.xml");
        }

        public override bool Match(object obj)
        {
            return false;
        }

        public override bool Equals (object obj)
        {
            return false;
        }
    }
}

И я украшаю свой метод вот так, опять же, как тест до сих пор;

    [IsInRole(Role="Admin")]
    private bool Save()
    {

Однако я не могу помешать выполнению метода.

Я могу сделать это в MVC без проб, но это мое первое приложение WPF за несколько лет, поэтому я знаю, что здесь что-то упущено.

1 Ответ

1 голос
/ 14 сентября 2011

тоже не очень знаком с этим, но попробуйте вместо этого:

[AuthorizationAttribute(AuthorizationType.Allow, "Admin")]

это должно работать, если вы используете парадигму MVVM; -)

source: WPFБезопасность на основе команд и утверждений / ролей

...