我遵循此guide將cas與Windows AD集成。Kerberos授權不適用於Chrome和FireFox,但適用於IE
它幾天前在每個瀏覽器上都正常工作。但不是它只能在IE上運行,當我使用firefox瀏覽器時只發送「Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw ==」給服務器,然後瀏覽器返回到cas登錄頁面。
最近纔在生產環境中發現此問題。我有一個測試環境具有相同的配置,但它現在工作正常。
我知道當kerberos票據沒有在本地緩存時,瀏覽器會發送「Negotiate TlRMT ...」。但我可以使用klist命令查看票證,並且它在IE上運行意味着票證是 。
我想這可能是由windows客戶端或廣告服務器的一些配置引起的,任何人都可以給我一些建議,tks!
「https://1056-app.test.com」 已經添加到Firefox的 「network.negotiate-auth.trusted-URI的」。而且我也試圖用 重新安裝firefox,不起作用。
鉻:55
IE:11
火狐:56
客戶爲例瀏覽器操作系統:Windows 7
AD服務器操作系統:Windows Server 2008 R2
CAS服務器OS :Suse11Sp3
這裏是在Firefox上的HTTP轉儲
GET https://1056-app.test.com/cas/login 401 Unauthorized
Response Headers
Server : nginx/1.8.0
Date : Fri, 13 Oct 2017 10:38:08 GMT
Content-Type : text/html;charset=UTF-8
Transfer-Encoding : chunked
Connection : keep-alive
Pragma : no-cache
Expires : Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control : no-cache
WWW-Authenticate : Negotiate
Content-Language : en-US
Content-Encoding : gzip
Vary : Accept-Encoding
Request Headers
Host : 1056-app.test.com
User-Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language : en-US,en;q=0.5
Accept-Encoding : gzip, deflate, br
Cookie : JSESSIONID=EE40B3C3FAFB30D13F45DC612E4D383ECC95916DBE12BEDDE21E9D933893964A4EB867271389530BC8A4B6E9B485E944B952
Connection : keep-alive
Upgrade-Insecure-Requests : 1
GET https://1056-app.test.com/cas/login 401 Unauthorized
Response Headers
Server : nginx/1.8.0
Date : Fri, 13 Oct 2017 10:38:08 GMT
Content-Type : text/html;charset=UTF-8
Transfer-Encoding : chunked
Connection : keep-alive
Pragma : no-cache
Expires : Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control : no-cache
Content-Language : en-US
Content-Encoding : gzip
Vary : Accept-Encoding
Request Headers
Host : 1056-app.test.com
User-Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language : en-US,en;q=0.5
Accept-Encoding : gzip, deflate, br
Cookie : JSESSIONID=EE40B3C3FAFB30D13F45DC612E4D383ECC95916DBE12BEDDE21E9D933893964A4EB867271389530BC8A4B6E9B485E944B952
Connection : keep-alive
Upgrade-Insecure-Requests : 1
Authorization : Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
klist的客戶端
Client: huangq @ SWI.TEST.NET
Server: HTTP/1056-app.test.com @ SWI.TEST.NET
KerbTicket Encryption Type: RSADSI RC4-HMAC(NT)
Ticket Flags 0x40a00000 -> forwardable renewable pre_authent
Start Time: 10/13/2017 12:52:34 (local)
End Time: 10/13/2017 22:11:01 (local)
Renew Time: 10/20/2017 12:11:01 (local)
Session Key Type: RSADSI RC4-HMAC(NT)
SETSPN -Q CMD客戶端
C:\Users\huangq>setspn -Q HTTP/1056-app.test.com
Checking domain DC=swi,DC=test,DC=net
CN=SOWSLdapA,OU=Service,OU=_Users,DC=swi,DC=test,DC=net
HTTP/1056-app.test.com
Existing SPN found!
密鑰表創建命令
ktpass.exe /out D:\\1056-app.keytab /princ HTTP/[email protected] /pass xxx /mapuser [email protected] /ptype KRB5_NT_PRINCIPAL /crypto RC4-HMAC-NT
你沒有提到你的Windows AD的版本,而CAS上運行的操作系統的類型。 –
運行以下命令,並粘貼完整結果:* setspn -Q HTTP/1056-app.test.com * –
已添加,tks用於回覆。 – zhufeizzz