[英]What's the most elegant way to verify access rights on a method (C#.Net)
我有一個內置於WCF(C#.Net)的WebService,它包含許多方法。 在每個方法上,我都不想驗證當前用戶是否可以訪問此特定操作。
現在,我有這樣的事情:
public MyContract MyMethod(int MyParameter)
{
ValidateAccess(MyCurrentIdentityInfo, ActionEnum);
// Do stuff here...
}
public void MyMethod2(int MyParameter)
{
ValidateAccess(MyCurrentIdentityInfo, ActionEnum);
// Do stuff here...
}
etc...
您會注意到我在開始時調用方法來檢查訪問權限,然后執行我需要的代碼。 這段代碼工作正常,但我必須在我的服務中的每個方法上調用此方法,我發現它並不漂亮。
是否有更優雅的方式來實現我想要做的事情? 我嘗試使用自定義屬性但沒有成功。
請注意, 我不是要嘗試在WebService本身上對用戶進行身份驗證 。 在上面的例子中,用戶在WebService上是有效的。 但是我想運行一個自定義代碼來檢查他是否可以調用一個刪除記錄的方法。
您可以考慮使用Castle Dynamic Proxy在已記錄用戶上注入操作驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.