我正在實現一些與使用RFC2617擴展名的Web服務器通信的代碼。 爲了配合這個,我實現了一個IAuthenticationManager模塊。自定義身份驗證模塊僅在證書存在時調用
我的認證模塊檢查接收到的挑戰是MyAuth:
public Authorization Authenticate(String challenge, WebRequest request, ICredentials credentials)
{
if (!challenge.Contains(AuthenticationType)) // MyAuth
{
{
return null;
}
}
...
// Get the token, omitted here
return authorization;
我再打電話AuthenticationManager.Register(MyAuthModule);
當WebRequest的具有UseIntegrated.UseDefaultCredentials = true
或請求加入到WebRequest.Credentials
然後我的身份驗證模塊稱爲憑據一切正常。但是,如果WebRequest沒有證書並且沒有使用默認憑證,那麼我的授權模塊不會被調用,並且請求失敗。
如何確保在收到質詢時調用身份驗證模塊,但WebRequest沒有憑據且不使用默認憑據?
看起來像這樣的行爲是設計,我們可以通過添加虛擬證書或設置useDefaultCredentials爲真,但真正感興趣的解決方案,而不是解決方案 – Remko