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 username@domain.comgagal.

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?

Jawaban:


11

Saya mencoba melakukan hal yang sama. Akses situs web di IIS lokal menggunakan FQDN dan terus diberitahu ke mana harus pergi oleh IIS.

Bagaimanapun, dari penggalian saya, Anda harus menonaktifkan cek loopback untuk situs web IIS lokal.

Lihat halaman dukungan Microsoft berikut ini .

Jika halaman hilang, saya melakukan yang berikut (yang dia rekomendasikan di posting blog di atas)

  1. Buka editor registri dengan mengetikkan regedit di bawah Jalankan.
  2. Arahkan ke HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. Klik kanan MSV1_0 dan klik Baru dan pilih untuk menjadikannya Nilai Multi-String.
  4. Masukkan BackConnectionHostNames sebagai nama untuk entri, dan klik dua kali untuk memodifikasinya.
  5. Ketikkan nama host yang perlu Anda gunakan (kode-journey.com misalnya).
  6. Mulai ulang Layanan IISAdmin ("Mulai" -> "Alat Administratif" -> "Layanan")

Semoga ini membantu.

cmb ..


4

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:

  1. Klik Mulai, klik Jalankan, ketik regedit, lalu klik OK.
  2. Temukan dan kemudian klik subkunci registri berikut: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ MSV1_0
  3. Klik kanan MSV1_0, arahkan ke Baru, lalu klik Nilai Multi-String.
  4. Di kolom Nama, ketik BackConnectionHostNames, lalu tekan ENTER.
  5. Klik kanan BackConnectionHostNames, dan kemudian klik Ubah.
  6. 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.

  7. 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:

  1. Klik Mulai, klik Jalankan, ketik regedit, lalu klik OK.
  2. Temukan dan kemudian klik subkunci registri berikut: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  3. Klik kanan Lsa, arahkan ke Baru, lalu klik Nilai DWORD.
  4. Ketik DisableLoopbackCheck, lalu tekan ENTER.
  5. Klik kanan DisableLoopbackCheck, lalu klik Ubah.
  6. Di kotak Data nilai, ketik 1, lalu klik OK.
  7. Keluar dari Peninjau Suntingan Registri.
  8. Nyalakan ulang komputernya.

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.

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.


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.
roviuser
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.