2011-09-14 196 views
0

我有一個客戶端的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中做到這一點沒有probs,但這是我多年來的第一個WPF應用程序,所以我知道我在這裏錯過了一些東西。

回答

0

不是很熟悉,要麼但儘量把這個改爲:

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

這應該工作,如果你使用的是MVVM模式;-)

來源:WPF Command and claim/role based security

+0

感謝。明天早上將實施並讓你知道。 – griegs

+0

下載了演示代碼,它的工作原理。現在想出如何在我的應用程序中使用它。 :) – griegs