Otentikasi Windows ke IIS di server lokal dengan url yang memenuhi syarat
9
Saya memiliki aplikasi web yang diatur di IIS 7 yang dikonfigurasi dengan Otentikasi Windows. Saya dapat mengautentikasi ke mesin melalui url yang sepenuhnya memenuhi syarat dari mesin lain dan menggunakan Domain yang tepat. Namun, ketika saya mencoba untuk menyambung ke mesin dari dirinya sendiri melalui domain yang sepenuhnya memenuhi syarat (baik di layanan lain, atau hanya melalui url di IE), prompt Windows Login mencoba untuk memaksa penggunaan komputer sebagai domain, dan bukan domain yang tepat untuk masuk. Mencoba menentukan domain dengan domain\usernameatau [email protected]gagal.
Saya harus mencatat bahwa melihat aplikasi web melalui localhostpada mesin berfungsi, tetapi menggunakan site.company.com/webserviceurl gaya penuh tidak bekerja pada mesin lokal, karena domain login salah. Apa yang bisa saya lakukan untuk membuatnya menggunakan domain login yang tepat?
Ini karena fitur keamanan yang dikenal sebagai LoopbackCheck.
Pesan galat saat Anda mencoba mengakses server secara lokal dengan menggunakan FQDN atau alias CNAME-nya setelah Anda menginstal Windows Server 2003 Paket Layanan 1: "Akses ditolak" atau "Tidak ada penyedia jaringan yang menerima jalur jaringan yang diberikan" http://support.microsoft .com / kb / 926642
Ada dua resolusi:
Metode 1 (disarankan): Buat nama host Otoritas Keamanan Lokal yang dapat dirujuk dalam permintaan otentikasi NTLM. Untuk melakukan ini, ikuti langkah-langkah ini untuk semua node di komputer klien:
Klik Mulai, klik Jalankan, ketik regedit, lalu klik OK.
Temukan dan kemudian klik subkunci registri berikut: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
Klik kanan MSV1_0, arahkan ke Baru, lalu klik Nilai Multi-String.
Di kolom Nama, ketik BackConnectionHostNames, lalu tekan ENTER.
Klik kanan BackConnectionHostNames, dan kemudian klik Ubah.
Di kotak Data nilai, ketik CNAME atau alias DNS, yang digunakan untuk share lokal di komputer, dan kemudian klik OK.
Catatan: Ketikkan setiap nama host pada baris terpisah.
Catatan: Jika entri registri BackConnectionHostNames ada sebagai jenis REG_DWORD, Anda harus menghapus entri registri BackConnectionHostNames.
Keluar dari Peninjau Suntingan Registri, dan kemudian restart komputer.
Metode 2: Nonaktifkan pemeriksaan loopback otentikasi dengan mengatur entri registri DisableLoopbackCheck di theHKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa subkunci registri ke 1. Untuk mengatur entri registri DisableLoopbackCheck ke 1, ikuti langkah-langkah ini di komputer klien:
Klik Mulai, klik Jalankan, ketik regedit, lalu klik OK.
Temukan dan kemudian klik subkunci registri berikut: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
Klik kanan Lsa, arahkan ke Baru, lalu klik Nilai DWORD.
Apa triknya bagi saya adalah opsi kedua - DisableLoopbackCheckinginHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Icarus
1
Saya dapat memberi tahu Anda, berdasarkan beberapa pengalaman pengaturan SSO, bahwa IE akan secara otomatis melewati tiket kerberos untuk masuk hanya jika situs dan klien berada di intranet bersama-sama, atau jika situs tersebut berada di zona tepercaya. Jika IE melihat http://site.company.com/webservice ia akan menganggap bahwa situs tersebut ada di internet dan tidak akan lulus kredensial untuk masuk.
Dua hal yang kami temukan yang berfungsi untuk memungkinkan FQDN di intranet adalah menyediakan sertifikat dan menggunakan SSL pada server web, atau menambahkannya ke Zona Tepercaya.
Semoga ini bisa membantu dalam kaitannya dengan pengaturan Anda.
Ini tidak menyelesaikan masalah. Saya sudah mencoba menambahkan FQDN ke zona tepercaya, tetapi tidak berhasil. Saya pikir, bahwa itu memecahkan masalah yang berbeda. Menambahkannya ke zona tepercaya memungkinkan autentikasi otomatis , yang tidak saya butuhkan - Saya baik-baik saja dengan menetapkan kredensial, tetapi masalahnya adalah bahwa itu tidak menerima domain yang ditentukan untuk kredensial login - itu macet pada nama komputer.
DisableLoopbackChecking
inHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
Saya dapat memberi tahu Anda, berdasarkan beberapa pengalaman pengaturan SSO, bahwa IE akan secara otomatis melewati tiket kerberos untuk masuk hanya jika situs dan klien berada di intranet bersama-sama, atau jika situs tersebut berada di zona tepercaya. Jika IE melihat http://site.company.com/webservice ia akan menganggap bahwa situs tersebut ada di internet dan tidak akan lulus kredensial untuk masuk.
Ada beberapa informasi bermanfaat di tautan ini mengenai IIS, IE, dan Kerberos. http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx
Dua hal yang kami temukan yang berfungsi untuk memungkinkan FQDN di intranet adalah menyediakan sertifikat dan menggunakan SSL pada server web, atau menambahkannya ke Zona Tepercaya.
Semoga ini bisa membantu dalam kaitannya dengan pengaturan Anda.
sumber