使用 Windows 身份验证在 Web API 控制器中获取 NetworkCredential 或客户端凭据
Obtain NetworkCredentils or ClientCredentials in WebAPI controller with Windows Authentication
我有一个带有 Windows 身份验证的 WebAPI 应用程序。我需要在 WebAPI 控制器中创建与外部应用程序 (MS Dynamics CRM 2016) 的连接,但我无法获取连接到 WebAPI 用户的密码。
是否有可能在 WebAPI 控制器中获取 NetworkCredentials
或 ClientCredentials
对象?我可以获得连接用户的用户名和域,但不能获取密码。 CredentialCache.DefaultNetworkCredentials
对象为空。
public class ParametersController : ApiController
{
public IHttpActionResult GetParameters()
{
NetworkCredential defaultNetworkCredentials = CredentialCache.DefaultNetworkCredentials; //null
return this.Ok();
}
}
您无法从windows 身份验证中获取密码,原因与您无法制作具有windows 身份验证的public 网站的原因相同,您可以在其中获取所有访问者的密码在他们不知情的情况下帐户。这是一项安全功能。
我有一个带有 Windows 身份验证的 WebAPI 应用程序。我需要在 WebAPI 控制器中创建与外部应用程序 (MS Dynamics CRM 2016) 的连接,但我无法获取连接到 WebAPI 用户的密码。
是否有可能在 WebAPI 控制器中获取 NetworkCredentials
或 ClientCredentials
对象?我可以获得连接用户的用户名和域,但不能获取密码。 CredentialCache.DefaultNetworkCredentials
对象为空。
public class ParametersController : ApiController
{
public IHttpActionResult GetParameters()
{
NetworkCredential defaultNetworkCredentials = CredentialCache.DefaultNetworkCredentials; //null
return this.Ok();
}
}
您无法从windows 身份验证中获取密码,原因与您无法制作具有windows 身份验证的public 网站的原因相同,您可以在其中获取所有访问者的密码在他们不知情的情况下帐户。这是一项安全功能。