Ikhtisar Otentikasi Windows Terintegrasi
Otentikasi Windows Terintegrasi (IWA) adalah mekanisme yang secara otomatis memberikan informasi otentikasi pengguna ke IIS ketika IIS dan pengguna masuk ke domain yang sama. Saat Anda membuat situs dengan ASP.NET C#, Anda bisa mendapatkan penentuan otentikasi pengguna dan informasi pengguna yang diautentikasi.
Hal ini memungkinkan pengguna untuk mengakses aplikasi web yang dihosting (atau ditautkan) oleh IIS tanpa operasi login tambahan, dan memungkinkan integrasi SSO dengan server aplikasi lain.
*Jika Anda tidak berpartisipasi dalam domain yang sama atau jika pengguna yang tidak diautentikasi mengakses halaman IIS, tombol masuk akan ditampilkan, dan jika Anda tidak mengautentikasi dengan benar, Kesalahan HTTP 401.1 – Tidak Sah akan terjadi.

Alur SSO (Signal Sign On).
Paket Ultimate Chat&Messenger On-Premise memungkinkan SSO dengan autentikasi Windows terintegrasi. Alur SSO adalah sebagai berikut.
- Klien pertama-tama mengakses halaman terautentikasi Windows Terintegrasi /cam-iissso
- Halaman /cam-iissso menggunakan ASP.NET untuk menentukan apakah halaman tersebut diautentikasi dan tertaut ke CAMServer.
- CAMServer melakukan pencarian LDAP untuk mengonfirmasi bahwa itu adalah pengguna AD biasa, menghasilkan ssoToken (nilai acak unik 30 byte atau lebih) dan URL untuk mengakses CAMServer, dan meminta pengalihan.
- Akses CAMServer dan autentikasi menggunakan ssoToken. Jika autentikasi berhasil, ID sesi untuk akses API akan ditetapkan.

Persyaratan untuk mencapai SSO
Gabungkan Windows Server ke Domain
Harap gabungkan Windows Server yang menjalankan CAMServer/IIS ke domain Direktori Aktif.
Untuk mengecek domain tempat Windows Server yang sudah tergabung, masuk ke "Server Manager" → klik "Server Lokal" pada menu sebelah kiri → klik "Nama Komputer" dan rujuk ke kolom Domain.
Selain itu, IIS harus berada pada server yang sama dengan CAMServer dan berjalan pada port 80. Jika Anda menempatkan LoadBalancer di depan CAMServer, CAMServer akan berjalan pada port 8080, sehingga IIS juga dapat menggunakan port 443.
Menginstal IIS
Instal IIS dari peran server.
Saat memasang IIS, periksa hal berikut dalam opsi pemilihan Layanan Peran.
- Otentikasi Windows
- Filter ISAPI
- Menginstal Ekstensi ISAPI Secara Terpisah

Filter ISAPI: Mendukung pemuatan modul ekstensi di IIS. Diperlukan untuk memuat AspNetCoreModuleV2.
Ekstensi ISAPI: Tambahkan ekstensi ISAPI ke IIS. Diperlukan untuk operasi AspNetCoreModuleV2. Mulai manajer IIS (iisreset)
Instal Paket Hosting Inti ASP.NET
Paket Hosting Inti ASP.NET Silakan instal.
Setelah instalasi, mulai ulang IIS dan pastikan AspNetCoreModuleV2 ada di pemetaan handler.



Tambahkan aplikasi (cam-iissso)
Tambahkan aplikasi cam-iissso ke Situs Web Default.
- Alias: cam-iissso
- Jalur fisik: \sys\cam-iissso-net8.0
Juga, berikan izin melihat (baca dan jalankan, daftar isi folder, baca) ke grup IIS_IUSRS untuk folder cam-iissso-net8.0.


Aktifkan Otentikasi Windows
Klik kanan pada "Otentikasi Windows" dan pilih "Aktifkan".

Mengatur opsi Internet
Tambahkan situs yang disediakan oleh IIS ke zona intranet
Pilih Opsi Internet, klik tab Keamanan, pilih Intranet Lokal Klik tombol Situs, pilih Pengaturan Lanjutan, dan tambahkan URL situs
Periksa masuk otomatis
Klik "Tingkat Khusus" dan di bawah "Otentikasi Pengguna" → "Logon", pastikan "Log on secara otomatis di zona intranet" dipilih.


Pengaturan LDAP
Saat melakukan sistem masuk tunggal menggunakan IIS,Pengaturan LDAP(LDAPURl, LDAPBaseDN, pengguna AD yang melakukan otentikasi proksi) diperlukan.

Akses melalui FQDN (nama domain berkualifikasi lengkap) dan daftarkan SPN
Hal ini tidak diperlukan jika Anda mengakses halaman Autentikasi Terintegrasi IIS Windows menggunakan nama host (nama NetBIOS), tetapi Anda harus mendaftarkan SPN jika Anda mengaksesnya menggunakan FQDN (nama domain yang sepenuhnya memenuhi syarat, misalnya, sso.example.com).
SPN (Service Principal Name) adalah nama yang secara unik mengidentifikasi layanan tertentu pada Direktori Aktif dalam autentikasi Kerberos. Jika Anda mengakses layanan menggunakan FQDN, mendaftarkan SPN akan memungkinkan klien untuk berhasil meminta tiket Kerberos untuk layanan yang Anda akses.
Misalnya https://sso.example.com
Saat mengakses, klien (browser) meminta tiket dari Direktori Aktif, yang mengatakan "Saya ingin terhubung ke layanan yang disebut HTTP/sso.example.com." Direktori Aktif menentukan akun mana yang dikaitkan dengan SPN dan menerbitkan tiket layanan yang sesuai. Jika SPN tidak terdaftar dengan benar, autentikasi Kerberos akan gagal, yang mengakibatkan ditampilkannya dialog autentikasi.
Registrasi SPN dilakukan pada akun komputer yang menjadi host IIS. Misalnya,iklan
Untuk IIS yang berjalan dengan nama host, daftarkan SPN sebagai berikut:
setspn -S HTTP/sso.contoh.com ad$
Setelah terdaftar, Anda dapat memeriksa dengan perintah berikut:
setspn -L ad$
Hasil ini HTTP/sso.contoh.com
Jika ditampilkan, pendaftaran SPN berhasil.
Tidak tersedia di lingkungan koneksi proksi HTTP
Harap perhatikan bahwa SSO tidak dapat digunakan di lingkungan koneksi proksi HTTP.
Konfigurasi dalam lingkungan LoadBalancer + SSL
Jika Anda menggunakan Autentikasi Windows Terintegrasi IIS di lingkungan LoadBalancer + SSL, lihat artikel blog berikut.
