Keamanan Berbasis Peran
Peran sering digunakan dalam aplikasi keuangan atau bisnis untuk menegakkan kebijakan. Misalnya, aplikasi mungkin memberlakukan batasan pada ukuran transaksi yang sedang diproses tergantung pada apakah pengguna yang membuat permintaan adalah anggota dari peran tertentu. Clerk mungkin memiliki otorisasi untuk memproses transaksi yang kurang dari ambang batas tertentu, supervisor mungkin memiliki batas yang lebih tinggi, dan wakil presiden mungkin memiliki batas yang masih lebih tinggi (atau tidak ada batas sama sekali). Keamanan berbasis peran juga dapat digunakan ketika aplikasi memerlukan beberapa persetujuan untuk menyelesaikan tindakan. Kasus seperti itu mungkin merupakan sistem pembelian di mana setiap karyawan dapat menghasilkan permintaan pembelian, tetapi hanya agen pembelian yang dapat mengonversi permintaan tersebut menjadi pesanan pembelian yang dapat dikirim ke pemasok.
Keamanan berbasis peran .NET mendukung otorisasi dengan membuat informasi tentang prinsipal, yang dibangun dari identitas terkait, tersedia untuk alur saat ini. Identitas (dan prinsipal yang membantu menentukannya) dapat didasarkan pada akun Windows atau menjadi identitas kustom yang tidak terkait dengan akun Windows. Aplikasi .NET dapat membuat keputusan otorisasi berdasarkan identitas prinsipal atau keanggotaan peran, atau keduanya. Peran adalah sekumpulan prinsipal bernama yang memiliki hak istimewa yang sama sehubungan dengan keamanan (seperti teller atau manajer). Prinsipal dapat menjadi anggota dari satu atau beberapa peran. Oleh karena itu, aplikasi dapat menggunakan keanggotaan peran untuk menentukan apakah prinsipal berwenang untuk melakukan tindakan yang diminta.
Untuk memberikan kemudahan penggunaan dan konsistensi dengan keamanan akses kode, keamanan berbasis peran .NET menyediakan System.Security.Permissions.PrincipalPermission objek yang memungkinkan runtime bahasa umum untuk melakukan otorisasi dengan cara yang mirip dengan pemeriksaan keamanan akses kode. Kelas PrincipalPermission mewakili identitas atau peran yang harus dicocokkan oleh prinsipal dan kompatibel dengan pemeriksaan keamanan deklaratif dan imperatif. Anda juga dapat mengakses informasi identitas utama secara langsung dan melakukan pemeriksaan peran dan identitas dalam kode Anda saat diperlukan.
.NET menyediakan dukungan keamanan berbasis peran yang fleksibel dan cukup dapat diperluas untuk memenuhi kebutuhan spektrum aplikasi yang luas. Anda dapat memilih untuk beroperasi dengan infrastruktur autentikasi yang ada, seperti Layanan COM+ 1.0, atau untuk membuat sistem autentikasi kustom. Keamanan berbasis peran sangat cocok untuk digunakan dalam aplikasi web ASP.NET, yang diproses terutama di server. Namun, keamanan berbasis peran .NET dapat digunakan pada klien atau server.
Sebelum membaca bagian ini, pastikan Anda memahami materi yang disajikan dalam Konsep Keamanan Kunci.