Safari 7 ไม่สามารถเชื่อมต่อกับอินทราเน็ตโดยใช้การตรวจสอบสิทธิ์ HTTP


9

ดู UPDATE ด้านล่างสำหรับข้อมูลใหม่เกี่ยวกับคำขอ HTTP จริงที่เกิดขึ้นภายใต้ประทุน

ดังนั้นฉันจึงเริ่มงานใหม่ได้ในเดือนตุลาคม ส่วนใหญ่เป็นร้านค้า Windows และพวกเขาใช้ IIS และ Active Directory เพื่อทำสิ่งต่าง ๆ ภายใน intranet.companyname.comพวกเขามีเว็บไซต์อินทราเน็ตที่

ใน Chrome บน Mavericks เมื่อฉันไปที่นั่นฉันได้รับการรับรองความถูกต้องแบบเลื่อนลง HTTP เล็กน้อย:

สิ่งที่ Chrome ทำ  นี่คือสิ่งที่ฉันควรจะได้รับใน Safari

ฉันสามารถพิมพ์ชื่อผู้ใช้และรหัสผ่านของฉันได้ที่ไหน ฉันไม่ค่อยคล่องแคล่วกับ Active Directory แต่ฉันเดาว่าmsgdเป็นโดเมน Active Directory ที่ฉันเปิดอยู่ดังนั้นฉันจึงพิมพ์msgd\lheidbrederและรหัสผ่านของฉันและฉันสามารถเข้าสู่ระบบได้สำเร็จใน Chrome

ย้อนกลับไปในเดือนตุลาคมครั้งแรกที่ฉันลองใน Safari ฉันมีพฤติกรรมแปลก ๆ เช่นฉันเห็นสิ่งที่รหัสผ่าน แต่แล้วมันไม่ทำงานเมื่อฉันใส่ข้อมูลประจำตัวของฉัน ฉันจำไม่ได้ว่ามันทำอะไร

แต่หลังจากความพยายามครั้งแรกและในทุก ๆ ครั้งตั้งแต่นั้นมาเมื่อฉันพยายามที่จะไปintranet.companyname.comSafari แสดงหน้าจอว่างเปล่า:

สิ่งที่ Safari 7 บน Mavericks ทำเมื่อฉันพยายามเชื่อมต่อกับอินทราเน็ตของฉัน

หน้าจอไม่เปลี่ยนแปลงและแถบความคืบหน้าเติมขึ้นประมาณ 20% และอยู่ที่นั่น


UPDATE

ฉันวิ่งแอพเพื่อสอดแนมคำขอ HTTP และฉันพบว่าสิ่งนี้กำลังทำอะไรอยู่เบื้องหลัง มันไม่ใช่แค่นั่งอยู่ตรงนั้น Safari กำลังร้องขอหน้าเว็บเกือบ 1,000 ครั้งต่อวินาทีและในแต่ละครั้งจะได้รับข้อผิดพลาด 401 และหน้าข้อผิดพลาด HTML ที่มีชื่อ "คุณไม่ได้รับอนุญาตให้ดูหน้านี้"

ในตัวอย่างหนึ่งคำขอจากความพยายามในการโหลด Safari ส่งAuthorizationส่วนหัวนี้:

Negotiate YEgGBisGAQUFAqA+MDygDjAMBgorBgEEAYI3AgIKoioEKE5UTE1TU1AAAQAAAAUCiGIAAAAAGAAAAAAAAAAYAAAABgGwHQ8AAAA=

และเซิร์ฟเวอร์ตอบสนองด้วยWWW-Authenticateส่วนหัวนี้:

Negotiate oYIBIzCCAR+gAwoBAaEMBgorBgEEAYI3AgIKooIBCASCAQROVExNU1NQAAIAAAAOAA4AOAAAAAUCiWKPhp0o8/Y/9gAAAAAAAAAAvgC+AEYAAAAFAs4OAAAAD0EAUgBJAFMAVwBFAEIAAgAOAEEAUgBJAFMAVwBFAEIAAQAMAE4ARQBXAFcARQBCAAQAKgBhAHIAaQBzAHcAZQBiAC4AYQByAGkAcwB0AG8AdABsAGUALgBuAGUAdAADADgATgBFAFcAVwBFAEIALgBhAHIAaQBzAHcAZQBiAC4AYQByAGkAcwB0AG8AdABsAGUALgBuAGUAdAAFACoAYQByAGkAcwB3AGUAYgAuAGEAcgBpAHMAdABvAHQAbABlAC4AbgBlAHQAAAAAAA==

ในคำขอถัดไป Safari จะส่งAuthorizationส่วนหัวที่เหมือนกันจากนั้นเซิร์ฟเวอร์จะตอบกลับด้วยWWW-Authenticateส่วนหัวที่แตกต่างกันเล็กน้อย:

Negotiate oYIBIzCCAR+gAwoBAaEMBgorBgEEAYI3AgIKooIBCASCAQROVExNU1NQAAIAAAAOAA4AOAAAAAUCiWLa6vytPOG0owAAAAAAAAAAvgC+AEYAAAAFAs4OAAAAD0EAUgBJAFMAVwBFAEIAAgAOAEEAUgBJAFMAVwBFAEIAAQAMAE4ARQBXAFcARQBCAAQAKgBhAHIAaQBzAHcAZQBiAC4AYQByAGkAcwB0AG8AdABsAGUALgBuAGUAdAADADgATgBFAFcAVwBFAEIALgBhAHIAaQBzAHcAZQBiAC4AYQByAGkAcwB0AG8AdABsAGUALgBuAGUAdAAFACoAYQByAGkAcwB3AGUAYgAuAGEAcgBpAHMAdABvAHQAbABlAC4AbgBlAHQAAAAAAA==

ทำซ้ำinfinitum โฆษณา


ฉันได้ลองลบทุกอย่างที่ตรงกับintranetKeychain Access และล้างแคช / คุกกี้ทั้งหมดของฉันเพื่อดูว่าฉันสามารถกู้คืนพฤติกรรมแปลก ๆ เดิมได้หรือไม่ แต่มันไม่ทำงาน

ฉันมีโดเมนที่ขี้ขลาดบางอย่างเกิดขึ้นหรือไม่ ฉันจะลองวินิจฉัยอะไรได้อีก


แทนที่จะเป็นปัญหาเกี่ยวกับพวงกุญแจมันอาจเกี่ยวข้องกับคุกกี้ คุณสามารถลองลบมันออกจากส่วน "ความเป็นส่วนตัว" ของบานหน้าต่างการตั้งค่า Safari
เคนต์

Nope ฉันแสดงความคิดเห็นในคำตอบด้านล่าง; ฉันล้างแคชคุกกี้ทุกอย่างและทำสิ่งเดียวกัน ฉันควรได้รับป๊อปอัปการตรวจสอบสิทธิ์ HTTP ดังนั้นฉันจึงไม่คิดว่าจะเกี่ยวข้องกับคุกกี้โดยตรง
75 ทรอมโบน

สุ่มคิดว่า ... คุณตรวจสอบพวงกุญแจ iCloud ของคุณด้วยหรือไม่ (ถ้าคุณเชื่อมโยงพวงกุญแจของคุณกับ iCloud นั่นคือ) ใน Keychain Access มีรายการแยกต่างหากสำหรับพวงกุญแจล็อกอินและพวงกุญแจiCloudของคุณ
ithos67

เป็นความคิดที่ดี แต่ฉันปิดใช้งาน iCloud Keychain บนคอมพิวเตอร์เครื่องนี้และในทุกกรณีการค้นหาใน Keychain Access จะค้นหาพวงกุญแจที่มีอยู่ทั้งหมด
75 ทรอมโบน

1
ฉันรู้ว่ามันจะไม่ช่วยคุณ แต่ฉันเพิ่งค้นพบว่าฉันมีปัญหาเดียวกันกับ Safari 7.0.4 และอินทราเน็ต SharePoint ฉันสามารถเชื่อมต่อได้ดีกับ Chrome และ Firefox แต่ Safari เริ่มโหลดตามที่คุณอธิบายแล้วก็นั่งอยู่ตรงนั้น น่ารำคาญมาก
nemesys

คำตอบ:


7

ฉันสามารถยืนยันได้ว่าฉันเห็นปัญหาที่เหมือนกันกับ Safari 7.0.2 (9537.74.9) ที่ติดตั้งอัปเดต Mac OS X Mavericks ปัจจุบันทั้งหมด (พันแพ็กเก็ตคำขอต่อวินาทีที่มีเนื้อหาประเภทเดียวกันตามที่อธิบายไว้ข้างต้น)

อย่างไรก็ตามในขณะนี้อาจช่วยได้หรือไม่ช่วยให้ผู้โพสต์ต้นฉบับฉันได้พบว่าปัญหานี้เกิดขึ้นเฉพาะเมื่อเซิร์ฟเวอร์ Windows มีการพิสูจน์ตัวจริงของ Windows แบบรวม (หรือที่เรียกว่าการรับรองความถูกต้อง NTLM) และเปิดใช้งานการเจรจารับรองความถูกต้อง

เซิร์ฟเวอร์จะส่งสองส่วนหัวเหล่านี้:

WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM

Safari จะตอบกลับ:

Authorization: Negotiate YEgGBisGAQUFAqA+MDygDjAMBgorBgEEAYI3AgIKoioEKE5UTE1TU1AAAQAAAAUCiGIAAAAAGAAAAAAAAAAYAAAABgGwHQ8AAAA=

และจากตรงนั้นวงก็จะไปต่อ

แต่ถ้าไม่ได้เปิดใช้งานการรับรองความถูกต้องของการเจรจาบนเซิร์ฟเวอร์จะมีเพียงส่วนหัว WWW-Authenticate เท่านั้น:

WWW-Authenticate: NTLM

และคำตอบของ Safari จะเป็นดังนี้:

Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=

นี้จะทำงานได้ดี โดยพื้นฐานแล้วดูเหมือนว่าการเจรจาจะใช้งานไม่ได้ใน Safari และเนื่องจากเซิร์ฟเวอร์ส่งการเจรจาก่อนเพื่อระบุการตั้งค่าสำหรับ Safari จะลองและป้อนการวนซ้ำไม่สิ้นสุดที่ป้องกันไม่ให้ย้อนกลับไปที่ NTLM

ดังนั้นหากผู้ดูแลระบบเซิร์ฟเวอร์สามารถโน้มน้าวให้ปิดการเจรจาต่อรองในการตั้งค่าการรับรองความถูกต้องปัญหาอาจได้รับการแก้ไข

ฉันอาจเพิ่มว่า Firefox ส่งส่วนหัว "การอนุญาต: NTLM ... " ไม่ว่าเซิร์ฟเวอร์จะให้เจรจาต่อรองนอกเหนือจาก NTLM หรือไม่ก็ตาม สันนิษฐานว่าการเจรจาต่อรองไม่ได้ดำเนินการใน Firefox


ปรับปรุง

Safari 7.0.3 (9537.75.14) ยังคงมีปัญหาเดียวกัน

ก่อนหน้านี้เรารายงานปัญหาเป็นข้อผิดพลาดที่ bugreport.apple.com แต่ข้อผิดพลาดถูกปิดเป็นสำเนาของข้อผิดพลาดก่อนหน้า - เนื้อหาที่เราไม่สามารถมองเห็นได้ยกเว้นว่ามีการทำเครื่องหมายว่าเปิดอยู่

อัปเดต 2

ฉันสามารถยืนยันได้ว่า hauns ค้นพบว่าการรับรองความถูกต้องใช้งานได้กับ Safari 7.0.4 (9537.76.4)

อัปเดต 3

ปัญหานี้กลับมาใน Safari 7.0.5 (9537.77.4)

อัปเดต 4

ปัญหานี้ยังคงมีอยู่ใน Safari 7.0.6 (9537.78.2) ตามที่ระบุไว้โดย hauns โดยมีการติดตั้งไดรฟ์ cifs หรือ smb


ขอบคุณสำหรับข้อมูล. คุณควรพิจารณาคัดลอกรายงานข้อผิดพลาดอย่างเป็นทางการของคุณไปยังOpen Radarและเชื่อมโยงไปที่นี่
75th ทรอมโบน

1
ปัญหานี้ได้รับการแก้ไขใน OS X 10.11.5
Claus Jørgensen

3

Safari 7.0.5 ยังคงมีปัญหาอยู่: การตรวจสอบความถูกต้องจะหยุดลงหากตัวค้นหาแชร์ทรัพยากรเครือข่ายผ่านทาง SMB: (หรือ CIFS :) เมื่อยกเลิกการต่อเชื่อมวอลุ่มเครือข่ายที่เชื่อมต่อทั้งหมดแล้ว Safari จะดำเนินการตรวจสอบสิทธิ์ต่ออีกครั้ง

การถดถอย:

  1. อยู่ในโยเซมิตี 10.10.1 / Safari 8.0.2
  2. อยู่ใน El Capitan 10.11.2 / Safari 9.0.2
  3. อยู่ใน Safari 10.0.1

Apple bug 22990203 ที่เกี่ยวข้องยังคงเปิดใช้งานอยู่ ไม่อนุญาตให้มนุษย์ต้องดู (cf.bugreporter.apple.com)

ดูเพิ่มเติมที่: https://discussions.apple.com/message/27727310#27727310


1

เรากำลังมีปัญหาเดียวกัน ดังนั้นทำไมเรายังไม่ได้อัพเกรด Macs เป็น Mavericks ดูเหมือนว่าพยายามเข้าสู่ระบบอินทราเน็ตโดยไม่มีข้อมูลรับรองโดเมน (อินทราเน็ต \ 'ว่างเปล่า') ควรใช้โดเมน \ ชื่อผู้ใช้ ฉันเข้าใจว่าสิ่งนี้อาจทำให้เกิดความหงุดหงิด แต่ดูเหมือนว่าการรับรองความถูกต้องหายไปในซาฟารี

ฉันแค่ไม่กี่วินาทีมันจะระเบิดบันทึก

Firefox ดูเหมือนจะใช้งานได้ดี


1
"ฉัน [n] เพียงไม่กี่วินาทีมันจะระเบิดบันทึก" - จริงเหรอ? ฉันไม่แสดงว่ามีการบันทึกอะไรใน Console.app บันทึกอะไรที่เขียนถึงคุณ
75 ทรอมโบน

เราใช้ Solarwinds สำหรับการบันทึกของเรา อย่างไรก็ตามมันจะเข้าสู่บันทึกของระบบบนเซิร์ฟเวอร์อินทราเน็ตของเรา
แดเนียล

1

นี่อาจเป็นช็อตยาว แต่ถ้าคุณมีตั๋ว Kerberos (จากการลงชื่อเข้าใช้บริการอื่น) Safari อาจพยายามใช้งานนั้น

เปิด / ระบบ / ห้องสมุด / CoreServices / Ticket Viewer.app เพื่อดูว่าคุณมีตั๋ว Kerberos หรือไม่ ถ้าเป็นเช่นนั้นคลิกที่ตั๋วลบข้อมูลประจำตัวแล้วลองอีกครั้ง

หรือถ้าไม่มีรายการอยู่ให้ลองใช้ Add Identity และดูว่าใช้งานได้กับ Safari หรือไม่

Firefox และ Chrome ไม่ได้ใช้ประโยชน์จาก Kerberos ฉันไม่คิดว่านั่นเป็นเหตุผลว่าทำไมพวกเขาถึงขอข้อมูลประจำตัวแยกต่างหาก


1
ฉันไม่มีรายการใด ๆ อยู่ที่นั่นและเมื่อฉันพยายามใส่ข้อมูลประจำตัวมันจะระบุว่า "รหัสผ่านไม่ถูกต้อง"
75 ทรอมโบน

1
เมื่อคุณเพิ่มตั๋วคุณใช้ msgd \ lheidbreder เป็นชื่อผู้ใช้ใช่ไหม
ไวไฟ

1
ใช่ฉันแน่ใจ
75th ทรอมโบน

0

พวงกุญแจเป็นความคิดที่ดี แต่คุณไม่ได้ไปไกลพอ

ใน Safari หากคุณมองใต้Safariเมนูคุณจะเห็นReset Safari...เลือกตัวเลือกนี้และจำนวนแคชจะถูกล้างออก

ตอนนี้เปิดSafari> Preferences> และปิดAutofill User names and passwordsตอนนี้เลือกPasswordsและลบรหัสผ่านใด ๆ ที่ระบุไว้ที่นั่น เลือกและคลิกที่Privacy Remove All Website Dataเลือกและหากคุณมีส่วนขยายที่ติดตั้งส่วนขยายสลับไปExtensionsOff

ตอนนี้ไปลองเว็บไซต์ของคุณ เมื่อคุณได้ลองแล้วและดูที่Privacyเพื่อดูว่าคุกกี้ใด ๆ ที่ถูกทิ้งไว้และPasswordsเพื่อดูว่า Safari บันทึกรหัสผ่านของคุณหรือไม่

สิ่งนี้อาจทำให้คุณเข้าใกล้โซลูชันมากขึ้น บอกเราว่ามันเป็นอย่างไรหลังจากนั้น หาก Chrome ใช้งานได้ฉันอยากรู้ว่ากำลังทำงานอะไรอยู่ จำเป็นต้องสอดแนมอีกเล็กน้อยหรือไม่

เพียงแค่หัวเราะคิกคักลอง URL http://username:password@intranet.example.com/(แทนที่บิตชัดเจน) และดูว่าเกิดอะไรขึ้น


ไม่มีรหัสผ่านหรือคุกกี้สำหรับintranet.companyname.comเว็บไซต์ แต่ฉันล้างออกทั้งหมดและตามที่คาดไว้ฉันได้รับพฤติกรรมที่แน่นอน โปรดทราบว่าสิ่งที่ฉันควรได้รับคือ modal การรับรองความถูกต้อง HTTP ของเบราว์เซอร์ดังนั้นหากเป็นไปได้ทุกที่มันจะอยู่ใน Keychain Access ไม่ใช่ในคุกกี้
ทรอมโบน 75

1
เพิ่มอีกเล็กน้อยเมื่อมันมาถึงฉัน
Tony Williams

1
ไม่มีประโยชน์เกิดขึ้นเมื่อฉันลองรูปแบบ URL นั้น
75 ทรอมโบน

1
ลองhttps://เช่นกัน
โทนี่วิลเลียมส์

0

ฉันมีปัญหาที่คล้ายกันที่สำนักงานของฉันเช่นกัน กุญแจสำคัญคือเพื่อให้แน่ใจว่าการค้นหา DNS ของฉันไม่รวมไซต์ท้องถิ่น (บริษัท / อินทราเน็ต) จากการออกไปข้างนอกเพื่อค้นหาที่อยู่ DNS นั่นเป็นสาเหตุของระบบของฉันที่ต้องการออกไปที่พร็อกซีและรับหน้าจอเข้าสู่ระบบอย่างต่อเนื่อง สิ่งที่เกิดขึ้นคือคำขอของฉันสำหรับ url ของ intranet.company.com นั้นถูกใช้โดยพรอกซีเซิร์ฟเวอร์และส่งออกไปยังเว็บ เว็บเซิร์ฟเวอร์หลักจะเห็นว่าฉันกำลังเชื่อมต่อผ่าน IP ของ บริษัท และตอบสนองต่อการค้นหาข้อมูลประจำตัวที่ถูกตัดออกโดยพร็อกซี ... ฉันคิดว่า

โดยทั่วไปทำให้แน่ใจว่าไซต์อินทราเน็ตไม่ได้ถูกส่งไปยังพร็อกซีแก้ไขปัญหาของฉัน สิ่งนั้นบวกกับการทำให้ Chrome เป็นเบราว์เซอร์เริ่มต้นของฉัน ...


0

ใช้Viewer.app ตั๋ว , /System/Library/CoreServices/Ticket Viewer.appและเพิ่มตั๋วใหม่

ในตั๋วใหม่ให้ใช้ชื่อผู้ใช้และรหัสผ่านสำหรับการตรวจสอบความถูกต้องของอินทราเน็ต url


1
ตามที่ระบุไว้ข้างต้นเมื่อใดก็ตามที่ฉันพยายามเพิ่มตั๋วใหม่ในแอพนั้นมันจะบอกฉันว่าฉันมีชื่อผู้ใช้ / รหัสผ่านไม่ถูกต้อง ฉันได้พยายามทั้งสองlheidbrederและmsgd\lheidbrederเป็นชื่อผู้ใช้ของฉัน ไม่มีโชค.
75 ทรอมโบน

มันใช้งานได้จริงสำหรับฉัน ฉันต้องเพิ่มข้อมูลประจำตัวสำหรับโดเมนที่อินทราเน็ตของฉันเปิดอยู่ตัวอย่างเช่น 'domainusername @ workdomain' โดยใช้รหัสผ่านโดเมนของฉัน
tjeerdhans

0
  1. สร้างผู้ใช้ใหม่บน Mac
  2. เปลี่ยนเป็นผู้ใช้ใหม่นี้ คุณสามารถทำได้ในขณะที่เปิดเซสชันปัจจุบันอยู่
  3. เรียกใช้ Safari นี่คือซาฟารีบริสุทธิ์
  4. ลองเชื่อมต่อกับเว็บไซต์ โดยปกติคุณจะได้รับกล่องโต้ตอบการตรวจสอบสิทธิ์

0

สิ่งนี้อาจจะช่วยได้หรือไม่ แต่ฉันได้พบว่าถ้าฉันเชื่อมต่อกับ smb แชร์นอกเหนือจากตัวเองฉันจะสูญเสียหน้าต่างการตรวจสอบสิทธิ์ใน Safari 7.0.3 ที่ใช้งาน OS 10.9.2

ตัวเองเหมือนในการเข้าสู่ระบบไดเรกทอรีและรหัสผ่านที่ใช้งานอยู่ ฉันผูกพันกับเซิร์ฟเวอร์ไดเรกทอรีที่ใช้งานอยู่

ฉันยังไม่ได้ทดสอบสิ่งนี้ในเครื่องที่ไม่มีข้อผูกมัด ฉันได้ทำการทดสอบ Chrome และ FireFox แล้วและแอพเหล่านี้ก็ไม่มีปัญหาอีกต่อไป ออโรร่าไม่ได้ทำงานด้วยวิธีใดอีกต่อไป

แก้ไขโดยผู้ใช้รายอื่น:

นี่เป็นสาเหตุของปัญหา ตอนนี้ได้รับการทดสอบด้วยเครื่องที่ไม่มีข้อ จำกัด ในการใช้งาน Mavericks และขณะนี้เรียกใช้โยเซมิตี หลังจากที่ฉันเชื่อมต่อกับการใช้ SMB ร่วมกัน Safari จะไม่แสดงกล่องโต้ตอบการตรวจสอบสิทธิ์อีกต่อไป ใน Mavericks ทันทีที่ฉันตัดการเชื่อมต่อจากการแชร์ SMB จะมีการแสดงกล่องโต้ตอบและฉันสามารถลงชื่อเข้าใช้ไซต์อินทราเน็ต 2013 Sharepoint ของ บริษัท ได้ ฉันไม่มีปัญหาใน Sharepoint 2007 หรือไซต์อินทราเน็ตอื่น ๆ

ในโยเซมิตีปรากฏว่าฉันสามารถเชื่อมต่อกับการแบ่งปัน SMB สูงสุดสองรายการและ Safari จะยังคงทำงานได้ ถ้าฉันเชื่อมต่อกับการแชร์ SMB สามครั้งขึ้นไปปัญหาจะปรากฏขึ้น ฉันยังไม่แน่ใจว่ามันเป็นจำนวนหุ้นหรืออาจเป็นหุ้นที่แตกต่างกันมีสิทธิ์ที่แตกต่างกันที่อาจส่งผลกระทบต่อสถานการณ์ ฉันต้องทำการทดสอบที่เข้มงวดมากขึ้นในหน้านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.