Ya, fungsi seperti itu bisa bermasalah, tetapi kadang-kadang tidak ada cara lain, jadi mungkin perlu.
Beberapa contoh:
- Di Unix / Linux, fungsi ini ada (
su - <username>
, yang memberikan hasil yang sama dengan masuk sebagai pengguna itu, tetapi tidak memerlukan kata sandi untuk root)
- aplikasi tempat saya bekerja juga memiliki ini, dan ini penting untuk debugging masalah dengan pengaturan pribadi pengguna (yang mana aplikasi kami memiliki banyak)
Seperti yang ditunjukkan, jika pengaturan kompleks tergantung pada pengguna yang masuk (lingkungan vars, jalur, pengaturan pribadi dalam suatu aplikasi) sering kali tidak ada cara praktis lain untuk men-debug masalah pengguna.
Adapun logging / audit: Penggunaan fungsi ini tentu saja harus dicatat. Selain itu, Anda harus memercayai admin Anda untuk tidak menyalahgunakannya. Tapi itu berlaku untuk admin secara umum.
Jika Anda perlu membatasi admin Anda lebih lanjut, Anda memerlukan semacam sistem MAC (kontrol akses wajib), tanpa admin "benar". Itu mungkin, tetapi jauh lebih rumit, jadi itu sebuah tradeoff.