
Gambaran Umum Otentikasi Windows Terintegrasi
Integrated Windows Authentication (IWA) adalah mekanisme yang secara otomatis menyediakan informasi autentikasi pengguna ke IIS ketika IIS dan pengguna sama-sama masuk ke domain yang sama. Saat Anda membuat situs dengan C# ASP.NET, Anda dapat menentukan apakah pengguna telah diautentikasi dan mengambil informasi tentang pengguna yang telah diautentikasi.
Hal ini memungkinkan pengguna untuk mengakses aplikasi web yang dihosting (atau terintegrasi dengan) IIS tanpa memerlukan langkah login tambahan, dan memungkinkan integrasi SSO dengan server aplikasi lain.
*Jika pengguna tidak tergabung dalam domain yang sama atau tidak terautentikasi, halaman IIS akan menampilkan formulir masuk, dan jika autentikasi tidak dilakukan dengan benar, akan terjadi Kesalahan HTTP 401.1 – Tidak Diizinkan.

Alur SSO (Single Sign-On)
Paket Chat&Messenger Ultimate versi on-premises memungkinkan SSO melalui 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 pengguna telah diautentikasi dan kemudian terhubung ke CAMServer.
- CAMServer melakukan pencarian LDAP untuk memverifikasi bahwa pengguna tersebut adalah pengguna AD yang sah, menghasilkan URL untuk mengakses CAMServer beserta ssoToken (nilai acak unik berukuran 30 byte atau lebih), dan kemudian meminta pengalihan.
- Akses CAMServer dan otentikasi menggunakan ssoToken. Setelah otentikasi berhasil, ID sesi untuk akses API akan diberikan.

Persyaratan untuk mengimplementasikan SSO
Gabungkan Windows Server ke domain.
Harap gabungkan Windows Server yang menjalankan CAMServer/IIS ke domain Active Directory.
Untuk memeriksa domain mana yang terhubung dengan Windows Server yang ada, buka "Pengelola Server," klik "Server Lokal" di menu sebelah kiri, klik "Nama Komputer," dan lihat kolom domain.
Selain itu, IIS harus berada di server yang sama dengan CAMServer dan berjalan di port 80. Jika Anda menempatkan LoadBalancer di depan CAMServer, CAMServer akan berjalan di port 8080, sehingga IIS juga dapat menggunakan port 443.
Instalasi IIS
Instal IIS dari peran server. Saat menginstal IIS, periksa opsi berikut dalam opsi pemilihan layanan peran.
- Autentikasi Windows
- Filter ISAPI
- Ekstensi ISAPI

Instal ASP.NET Core Hosting Bundle.
Paket Hosting ASP.NET Core Silakan instal. Setelah instalasi, mulai ulang IIS dan verifikasi bahwa AspNetCoreModuleV2 ada di pemetaan handler.



Menambahkan aplikasi (cam-iissso)
Silakan tambahkan aplikasi cam-iissso ke Situs Web Default Anda.
- Nama samaran: cam-iissso
- Jalur fisik: \sys\cam-iissso-net8.0
Selain itu, berikan akses baca saja (baca dan jalankan, lihat isi folder, baca) kepada grup IIS_IUSRS untuk folder cam-iissso-net8.0.


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

Pengaturan Opsi Internet
Tambahkan situs yang disediakan oleh IIS ke zona intranet.
Pilih Opsi Internet, klik tab Keamanan, dan pilih Intranet Lokal. Klik tombol Situs, pilih Lanjutan, dan tambahkan URL situs.
Verifikasi login otomatis.
Klik "Sesuaikan Level," lalu di bawah "Autentikasi Pengguna" → "Masuk," pastikan "Masuk secara otomatis di zona intranet" dipilih.


Pengaturan LDAP
Jika Anda ingin melakukan single sign-on menggunakan IIS,Pengaturan LDAP(LDAPUrl, LDAPBaseDN, dan pengguna AD yang melakukan otentikasi proksi diperlukan.)

Akses dan pendaftaran SPN menggunakan FQDN (Fully Qualified Domain Name).
Mengakses halaman Otentikasi Terintegrasi Windows IIS menggunakan nama host (nama NetBIOS) tidak memerlukan registrasi, tetapi registrasi SPN diperlukan saat mengaksesnya menggunakan FQDN (Fully Qualified Domain Name, misalnya, sso.example.com).
Service Principal Name (SPN) adalah nama yang digunakan dalam autentikasi Kerberos untuk mengidentifikasi secara unik layanan tertentu di Active Directory. Saat mengakses layanan menggunakan Fully Qualified Domain Name (FQDN), mendaftarkan SPN memungkinkan klien untuk meminta tiket Kerberos dengan benar untuk layanan yang diaksesnya.
Misalnya https://sso.example.com Saat mengakses suatu layanan, klien (browser) meminta tiket dari Active Directory yang menyatakan, "Saya ingin terhubung ke layanan yang bernama HTTP/sso.example.com." Active Directory memeriksa akun mana yang terkait dengan SPN dan menerbitkan tiket layanan yang sesuai. Jika SPN tidak terdaftar dengan benar, autentikasi Kerberos akan gagal, sehingga menampilkan dialog autentikasi.
Pendaftaran SPN dilakukan untuk akun komputer yang menjalankan IIS. Misalnya,iklan Untuk IIS yang berjalan di bawah nama host [hostname], daftarkan SPN sebagai berikut:
setspn -S HTTP/sso.example.com ad$
Setelah melakukan registrasi, Anda dapat memeriksanya menggunakan perintah berikut:
setspn -L ad$
Hasil ini HTTP/sso.example.com Jika ini ditampilkan, pendaftaran SPN Anda berhasil.
Tidak tersedia di lingkungan koneksi proxy HTTP.
Harap dicatat bahwa SSO tidak tersedia di lingkungan koneksi proxy HTTP.
Konfigurasi lingkungan LoadBalancer + SSL
Jika Anda menggunakan Otentikasi Windows Terintegrasi IIS dalam lingkungan LoadBalancer + SSL, silakan merujuk ke postingan blog berikut.


