2010-11-20 41 views

回答

5

由於您似乎在使用Windows身份驗證,因此您將能夠在這些組內使用Active Directory組和用戶的成員資格來限制服務方法的使用。

有了這個,你就可以使用聲明的語法來呼叫者限制某些羣體:

[ServiceContract] 
interface IMyService 
{ 
    [OperationContract] 
    [PrincipalPermission(SecurityAction.Demand, Role="YourCustomRole")] 
    public string MethodLimitedToGroup(string someInput); 
} 

誰不是您指定該組的成員,並試圖調用此方法,將獲得SecurityException - 但沒有別的。

這是你在找什麼?

+0

是的,這是我尋找的,但我不明白ASP.Net和Active Directory之間的關係?Asp.net角色提供程序如何注意到Active Directory用戶組。 – Nim 2010-11-21 17:08:36

+0

@Nim:對不起,我的壞 - 我混淆了;在WCF服務中,您不需要其他任何東西。使用Windows憑據進行身份驗證也應該提供此功能,以限制對某些組的方法的訪問 – 2010-11-21 19:06:48

+1

如果角色名稱來自配置文件,則不能使用聲明性語法,因爲屬性值只能是編譯時間常量。在這種使用中使用命令式的等效代碼。 – softveda 2010-11-22 05:43:26