在请求 Web 服务之前检查凭据


对于 Web 服务

,如何在请求 Web 服务之前检查凭据?

在这个例子中,我们使用一个错误的密码来模拟一个 HTTP 401 : Unauthorized. .
var param = DoComplexeWork();之前有没有办法验证凭据?

string UserName = "FOOBAR_USR";
string SecurelyStroredPassword = "FOOBAR_BAD_PWD";
string Domain = "FOOBAR_DOM";
string Url = "https://example.com/Foo/Bar.svc";
CredentialCache credentialCache = new CredentialCache();
credentialCache.Add(
    new Uri(Url),
    "Basic",
    new NetworkCredential(UserName, SecurelyStroredPassword, Domain)
);
var iFoo = new MyFooBarWebService();
iFoo.Credentials = credentialCache;
//Check if Credential is OK 
var param = DoComplexeWork();
var result = iFoo.CreateBar(param);

验证每个请求的凭据。因此,您需要另一个仅验证凭据的 URL 来请求。

根据您的 Web 服务,您也许可以发出 HEAD 请求。但这也可能不会触发实际处理。

因此,由于底层HTTP协议,没有明显的简单方法可以做到这一点。

相关内容

  • 没有找到相关文章

最新更新