我是kerberos身份驗證的新成員,不知道任何事情。我準備好了服務器名稱,用戶名和密碼。Windows服務中的Kerberos身份驗證
我需要從獨立的Windows應用程序認證用戶。有人可以幫忙嗎?
我在Google上找不到太多幫助。
欣賞任何想法。
我是kerberos身份驗證的新成員,不知道任何事情。我準備好了服務器名稱,用戶名和密碼。Windows服務中的Kerberos身份驗證
我需要從獨立的Windows應用程序認證用戶。有人可以幫忙嗎?
我在Google上找不到太多幫助。
欣賞任何想法。
在Kerberos中,您不通過配對用戶名/密碼進行身份驗證,而是通過附加Kerberos令牌(可從CredentialsCache中獲取該令牌)。
WebRequest WReq = WebRequest.Create (MyURI);
WReq.Credentials = CredentialCache.DefaultCredentials;
見:https://msdn.microsoft.com/en-us/library/yk7437c8%28v=vs.110%29.aspx
第二行會給你NTLM或Kerberos憑據。你會得到Kerberos證書時:
當您執行'CredentialCache.DefaultCredentials'時,您的應用程序會使用基礎機制爲您生成SPNEGO令牌。在裏面,將是Keberos或NTLM票。下面是它如何工作的:環境
謝謝造粒者。我其實需要獲取令牌並尋找C#示例。我不能有任何依賴IIS的順便說一句。你可以請我鏈接到一個例子,我無法找到一個谷歌。感謝你的幫助。 –
例如:https://msdn.microsoft.com/en-us/library/yk7437c8%28v=vs.110%29.aspx。您的應用程序必須在域用戶帳戶上運行,因爲只有CredentialCache.DefaultCredentials纔會返回Kerberos憑據。 – greenmarker
不要使用Kerberos身份驗證,使用NTLM代替。 – Aron
@Aron:有時候別無選擇。服務器不會爲我的客戶端程序而改變。 –
如果您對/ Kerberos/NTLM不瞭解任何有關Windows的信息,那麼您不知道什麼是可能的。通常,Windows身份驗證實際上是SPEGNO協商,然後使用Kerberos或NTLM進行實際身份驗證。使用NTLM。 – Aron