Apa arti mekanisme klaim dalam ASP.NET Identity Core baru?
Ada dua pendekatan otorisasi umum yang didasarkan pada Peran dan Klaim.
Keamanan Berbasis Peran
Seorang pengguna ditugaskan ke satu peran atau lebih di mana pengguna mendapatkan hak akses. Selain itu, dengan menetapkan pengguna ke peran, pengguna segera mendapatkan semua hak akses yang ditetapkan untuk peran itu.
Keamanan Berbasis Klaim
Identitas berbasis klaim adalah serangkaian klaim. Klaim adalah pernyataan yang dibuat entitas (pengguna atau aplikasi lain) tentang dirinya sendiri, itu hanya klaim. Misalnya daftar klaim dapat memiliki nama pengguna, email pengguna, usia pengguna, otorisasi pengguna untuk suatu tindakan. Di Keamanan berbasis peran, pengguna menyajikan kredensial langsung ke aplikasi. Dalam model berbasis klaim, pengguna menyajikan klaim dan bukan kredensial ke aplikasi. Agar klaim memiliki nilai praktis, klaim harus berasal dari entitas yang dipercaya oleh aplikasi.
Langkah-langkah di bawah ini mengilustrasikan urutan yang terjadi dalam model keamanan berbasis klaim:
- Pengguna meminta tindakan. Aplikasi pihak yang mengandalkan (meminta) meminta token.
- Pengguna menyajikan kredensial kepada otoritas penerbit yang dipercaya oleh aplikasi RP.
- Otoritas penerbit mengeluarkan token yang ditandatangani dengan klaim, setelah mengautentikasi kredensial pengguna.
- Pengguna menyajikan token ke aplikasi RP. Aplikasi memvalidasi tanda tangan token, mengekstraksi klaim, dan berdasarkan pada klaim, menerima atau menolak permintaan.
Namun, saya masih tidak dapat memahami dan menemukan informasi apa pun, ketika data ditambahkan ke AspNetUserClaims dan untuk situasi apa tabel ini digunakan?
Saat Anda berada dalam situasi di mana Keamanan Berbasis Peran tidak digunakan, dan Anda memilih untuk menggunakan Keamanan Berbasis Klaim, Anda perlu menggunakan tabel AspNetUserClaims. Untuk cara menggunakan Klaim dalam ASP.NET Identity, lihat tautan di bawah ini untuk informasi lebih lanjut.
http://kevin-junghans.blogspot.com/2013/12/using-claims-in-aspnet-identity.html
Memperbarui
Jam berapa saya harus menggunakan keamanan berbasis peran dan kapan berbasis klaim? Bisakah Anda menulis beberapa contoh?
Tidak ada situasi yang sangat jelas di mana Anda akan atau tidak akan menggunakan Keamanan Berbasis Peran atau Klaim, Tidak seperti kasus di mana Anda akan menggunakan A daripada B.
Tetapi, kontrol akses Berbasis Klaim memungkinkan pemisahan aturan otorisasi yang lebih baik dari logika bisnis inti. Ketika aturan otorisasi berubah, logika bisnis inti tetap tidak terpengaruh. Akan ada situasi di mana Anda mungkin lebih suka menggunakan pendekatan Berbasis Klaim.
Terkadang klaim tidak diperlukan. Ini adalah penafian penting. Perusahaan dengan sejumlah aplikasi internal dapat menggunakan Otentikasi Windows Terpadu untuk mencapai banyak manfaat yang diberikan oleh klaim. Active Directory melakukan pekerjaan yang baik untuk menyimpan identitas pengguna, dan karena Kerberos adalah bagian dari Windows, aplikasi Anda tidak harus menyertakan banyak logika otentikasi. Selama setiap aplikasi yang Anda bangun dapat menggunakan Otentikasi Windows Terpadu, Anda mungkin telah mencapai utopia identitas Anda. Namun, ada banyak alasan mengapa Anda mungkin memerlukan sesuatu selain otentikasi Windows. Anda mungkin memiliki aplikasi yang menghadap ke web yang digunakan oleh orang-orang yang tidak memiliki akun di domain Windows Anda. Alasan lain mungkin karena perusahaan Anda telah bergabung dengan perusahaan lain dan Anda kembali mengalami masalah saat mengautentikasi dua hutan Windows yang tidak (dan mungkin tidak pernah) memiliki hubungan kepercayaan. Mungkin Anda ingin berbagi identitas dengan perusahaan lain yang memiliki aplikasi Kerangka non-NET atau Anda perlu berbagi identitas antara aplikasi yang berjalan pada platform yang berbeda (misalnya, Macintosh). Ini hanya beberapa situasi di mana identitas berbasis klaim dapat menjadi pilihan yang tepat untuk Anda.
Untuk informasi lebih lanjut, silakan kunjungi http://msdn.microsoft.com/en-us/library/ff359101.aspx