Biraz karmaşık bir IDAM kurulumumuz var:
Yani son kullanıcının makinesi ve tarayıcısı ana AD ile bir ağda oturur ve İskele tabanlı uygulamamız ve konuşabileceği AD (yerel AD) diğer ağda oturur.
İki AD arasında iki yönlü bir güven var. Üst ağdaki tarayıcı güvenilir sitelerde yerel etki alanına sahiptir.
Jetty sunucusunun kurulumu aşağıdaki gibidir:
- yerel AD'deki bir anapara karşı oluşturulan bir keytab dosyası kullanır
- yerel AD'de tanımlanan bir kullanıcı altında bir Windows hizmeti olarak çalışıyor
- bölge, etki alanı-bölge eşlemesi ve kdc yerel AD etki alanına karşı tanımlanır
- spnego kullanır - isInitiator false olarak ayarlanır; doNotPrompt doğrudur; storeKey doğru
Problem şu:
- test olarak, yerel ağ içindeki bir tarayıcıdan sunucuya erişme (yani yerel AD'ye bağlı) çalışır - Kerberos hata ayıklama bilgisi günlüklerde görünür, HTTP trafiğinde doğru Kerberos anlaşmasını görebilirim ve kullanıcı otomatik olarak oturum açmış . Parlak.
ancak , sunucuya ana ağ içindeki bir tarayıcıdan (kullanıcılarımızın bir şeyler yapacağı şekilde) erişilmemektedir! Tarayıcı bir 401 yetkisiz geri alır, ancak girildiğinde boş bir ekran veren kimlik bilgilerini ister. Ardından adres çubuğunu tıklayıp Enter tuşuna basmak, kimlik bilgilerinin uzak veya yerel AD için olmasına bağlı olarak iki şeyden birini yapar:
- yerel AD kimlik bilgileri daha sonra giriş yapar, Kerberos günlüklerde sıfırdan (GET isteği, 401 yetkisiz yanıt, Kerberos üstbilgisi isteği, vb.)
- Uzaktan AD kimlik giriş yok (GET isteği, 401 UNAUTH tepki, ne NTLM başlığındaki gibi görünür:
Authorization: Negotiate <60 or so random chars>
)
Her iki durumda da, istemi gerçeği yanlış!
Bu belirtiler için bir açıklama var mı? Sahip olduğumuz kurulum istediğimizi yapabilir mi?
Yukarıdaki açıklama hakkında ne yanlış olabilir: Jetty sunucusu ile ilgili bahsettiğim herhangi bir yapılandırma, yaptığım gibi, doğru olmalıdır. Daha fazla bilgi vermekten mutluluk duyuyorum. AD veya üst ağ tarayıcısı ile ilgili herhangi bir yapılandırma potansiyel olarak şüphelidir, çünkü kontrolüm altında değildir ve yapılandırmayı kendim için görmek yerine bana bildirmiştim.