Windows服务中的Kerberos身份验证

Par*_*rde 5 c# kerberos

我是Kerberos身份验证的新手,对此一无所知。我已经准备好服务器名称,用户名和密码。

我需要从独立的Windows应用程序对用户进行身份验证。有人可以帮忙吗?

我在谷歌搜索中没有发现太多帮助。

感谢任何想法。

gre*_*ker 5

在Kerberos中,您不使用用户名/密码对进行身份验证,而是通过附加Kerberos令牌进行身份验证,可以从CredentialsCache中获取该令牌。

WebRequest WReq = WebRequest.Create (MyURI);
WReq.Credentials = CredentialCache.DefaultCredentials;
Run Code Online (Sandbox Code Playgroud)

请参阅:https//msdn.microsoft.com/en-us/library/yk7437c8%28v=vs.110%29.aspx

第二行将为您提供NTLM或Kerberos凭据。在以下情况下,您将获得Kerberos凭据:

  • 您的应用程序是由域用户帐户启动的
  • Kerberos KeyDistributionCentre中存在的服务器的SPN或UPN
  • 服务器配置为至少接收Kerberos令牌:您必须提供一个密码。

当您执行“ CredentialCache.DefaultCredentials”时,您的应用程序将使用基础机制为您生成SPNEGO令牌。里面有Keberos或NTLM门票。运作方式如下: