Kami memiliki pengaturan IDAM yang sedikit rumit:
Yaitu mesin pengguna akhir dan browser duduk di satu jaringan dengan AD induk, dan aplikasi berbasis Jetty kami dan AD yang dapat berbicara dengan (AD lokal) duduk di yang lain.
Ada kepercayaan dua arah antara kedua iklan. Browser di jaringan induk memiliki domain lokal di situs tepercaya.
Pengaturan server Jetty adalah sebagai berikut:
- menggunakan file keytab yang dihasilkan terhadap prinsipal di AD lokal
- itu berjalan sebagai layanan Windows di bawah pengguna yang ditentukan dalam AD lokal
- ranah, pemetaan domain-ranah dan kdc didefinisikan terhadap domain AD lokal
- ia menggunakan spnego - isInitiator disetel ke false; doNotPrompt benar; storeKey benar
Masalahnya adalah:
- sebagai tes, mengakses server dari browser di dalam jaringan lokal (mis. tertaut ke AD lokal) berfungsi - info debug Kerberos muncul di log, saya bisa melihat negosiasi Kerberos yang benar dalam lalu lintas HTTP, dan pengguna masuk secara otomatis . Cemerlang.
namun , mengakses server dari browser di dalam jaringan induk (yang merupakan cara pengguna kami melakukan sesuatu) tidak berfungsi! Browser mendapat kembali 401 unauth tetapi kemudian meminta kredensial, yang ketika dimasukkan memberikan layar kosong. Kemudian mengklik ke bilah alamat dan menekan Enter melakukan salah satu dari dua hal, tergantung pada apakah kredensial untuk AD jarak jauh atau lokal:
- Kredensial AD lokal kemudian masuk dengan baik, dengan Kerberos dari awal di log (Dapatkan permintaan, 401 respons tidak sah, permintaan header Kerberos, dll)
- kredensial AD terpencil tidak login (permintaan GET, 401 respon unauth, apa yang tampak seperti header NTLM:
Authorization: Negotiate <60 or so random chars>
)
Apa pun itu, fakta bahwa dorongan itu salah!
Adakah penjelasan untuk gejala-gejala ini? Bisakah pengaturan yang kita lakukan melakukan apa yang kita inginkan?
Dalam hal bagaimana dengan uraian di atas bisa salah: konfigurasi apa pun yang saya sebutkan mengenai server Jetty harus akurat, seperti yang saya lakukan. Saya senang memberikan detail lebih lanjut. Konfigurasi apa pun mengenai AD atau browser jaringan induk berpotensi dicurigai, karena tidak di bawah kendali saya dan konfigurasi saya sudah dilaporkan kepada saya daripada melihatnya sendiri.