2013-05-09 50 views
1

我有一個通過ws2007FederationHttpBinding綁定接收安全令牌的WCF服務。這工作正常,在我的服務中,我可以使用以下代碼獲取有關在令牌中傳遞的用戶的信息。如何向WCF中的安全令牌添加附加聲明

var claimsPrincipal = ClaimsPrincipal.Current; 
var claimsIdentity = (ClaimsIdentity)claimsPrincipal.Identity; 
string s; 
foreach (var claim in claimsIdentity.Claims) 
{ 
     s += "\r\n\t" + claim.Type; 
     s += "\r\n\t\t" + claim.Value; 
    } 
} 

我敢肯定,我已經看到的地方,有一種方法,我可以在WCF管道覆蓋時,它的保存到ClaimsPrincipal之前閱讀令牌添加額外的自定義聲明的聲明身份。當前。爲了在WCF收到這個令牌後立即給出一個例子,我希望它能夠自定義數據庫查找用戶名並添加一些額外的聲明。

任何人都可以指出我爲了實現這個目標而需要接入的正確方向嗎?

由於

回答

3

從名爲ClaimsAuthenticationManager類派生和註冊。 Authenticate方法將在令牌到達之後並在調用服務之前調用。在這裏您可以更改/添加/刪除聲明。