Saya memiliki situs ASP.NET MVC 5 yang menggunakan otentikasi formulir melalui kelas keanggotaan khusus.
Prosedur login situs saya:
Pengunjung anonim mencoba menavigasi ke situs saya. Dia diizinkan melakukannya, tetapi dialihkan ke halaman login saya.
Pengunjung memasukkan nama pengguna dan kata sandinya, yang dikonfigurasi di direktori aktif (AD) jaringan saya.
- Kode .NET AD memvalidasi kredensial, kemudian merespons dengan cookie untuk pengunjung yang berisi info dasar (namanya, alamat email, dll).
- Pengunjung diarahkan ke halaman beranda. Dia diautentikasi, tetapi situs tersebut sebenarnya berjalan sebagai identitas kumpulan aplikasinya, bukan identitas AD pengguna yang masuk.
Masalah saya: Di #4, bagaimana cara membuat identitas situs saya dijalankan sebagai identitas AD pengguna yang diautentikasi, dan bukan identitas kumpulan aplikasi situs? Saya perlu melakukan ini karena layanan tertentu yang digunakan aplikasi saya memerlukan identitas pengguna AD, bukan identitas kumpulan aplikasi.
Solusi yang mungkin: Di #2, saya mendapatkan nama pengguna dan kata sandi pengunjung dan menggunakannya untuk mengautentikasi bahwa dia adalah identitas AD yang valid. Saya dapat mengenkripsi dan menyimpan kata sandi pengguna, lalu kapan pun saya perlu menggunakan layanan yang memerlukan identitas AD pengguna, saya dapat membuat NetworkCredential baru dari nama pengguna dan kata sandinya. Saya tidak menyukai solusi ini, karena saya lebih suka tidak menyimpan kata sandi pengguna, jika saya bisa menghindarinya.
Terima kasih atas bantuannya!
(System.Security.Principal.WindowsIdentity)User.Identity
dan Anda akan mengerti maksud saya. - person CodingYoshi   schedule 19.04.2019var currentWindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
, yang mengembalikan MyADDomain\MyAppPoolIdentityName. - person David Alan Condit   schedule 19.04.2019