133 dari 153 orang menganggap ini bermanfaat Ketika identitas dibuat, identitas tersebut mungkin milik satu atau lebih peran, misalnya Tracy mungkin milik peran Administrator dan Pengguna sementara Scott mungkin hanya milik peran pengguna. Bagaimana peran ini dibuat dan dikelola bergantung pada penyimpanan pendukung proses otorisasi. Peran diekspos ke pengembang melalui properti IsInRole pada kelas ClaimsPrincipal.
Identitas baru dapat menjadi milik satu atau beberapa peran, misalnya, Tracy dapat menjadi bagian dari peran Administrator dan Pengguna, dan Sementara Scott hanya dapat menjadi bagian dari peran Pengguna. Bagaimana peran ini dibuat dan dikelola tergantung pada bagaimana proses otorisasi disimpan. Metode IsInRole dari kelas ClaimsPrincipal memberi pengembang cara menggunakan peran.
Menambahkan pemeriksaan peran Menambahkan validasi peran
Pemeriksaan otorisasi berbasis peran bersifat deklaratif - pengembang menyematkannya dalam kode mereka, terhadap pengontrol atau tindakan dalam pengontrol, menentukan peran yang harus dilakukan pengguna saat ini menjadi anggota untuk mengakses sumber daya yang diminta.
Autentikasi berbasis peran berbasis klaim, yang disematkan oleh pengembang ke dalam kode mereka, menetapkan peran ke pengontrol atau metode di dalamnya, menentukan bahwa pengguna dalam permintaan harus memenuhi persyaratan keanggotaan yang sesuai.
Misalnya, kode berikut akan membatasi akses ke tindakan apa pun di AdministrationController untuk pengguna yang merupakan anggota grup Administrator.
Misalnya, kode berikut akan membatasi metode apa pun di AdministrationController untuk digunakan hanya dengan menjadi anggota grup Administrator.
Anda dapat menentukan beberapa peran sebagai daftar yang dipisahkan koma;
Anda dapat menambahkan beberapa peran yang ditetapkan ke daftar pemisahan koma:
Pengontrol ini hanya akan dapat diakses oleh pengguna yang merupakan anggota peran HRManager atau peran Keuangan.
Pengontrol hanya akan dapat diakses oleh anggota peran HRManager atau peran Keuangan.
Jika Anda menerapkan beberapa atribut, maka pengguna yang mengakses harus menjadi anggota dari semua peran yang ditentukan; contoh berikut mengharuskan pengguna harus menjadi anggota peran PowerUser dan ControlPanelUser.
Jika Anda menggunakan beberapa atribut, pengguna akses harus menjadi anggota semua peran; Contoh berikut mengharuskan pengguna menjadi anggota peran PowerUser dan ControlPanelUser.
Anda dapat membatasi akses lebih lanjut dengan menerapkan atribut otorisasi peran tambahan di tingkat tindakan;
Anda dapat menggunakan atribut otorisasi peran tambahan di tingkat metode untuk menerapkan pembatasan penggunaan tambahan;
Dalam cuplikan kode sebelumnya, anggota peran Administrator atau peran PowerUser dapat mengakses pengontrol dan tindakan SetTime, tetapi hanya anggota peran Administrator yang dapat mengakses Aksi Matikan.
Dalam cuplikan kode sebelumnya, anggota peran Administrator atau PowerUser dapat menggunakan metode pengontrol dan SetTime, tetapi hanya anggota peran Administrator yang dapat menggunakan metode ShutDown.
Anda juga dapat mengunci pengontrol tetapi mengizinkan akses anonim yang tidak diautentikasi ke tindakan individual.
Anda juga dapat memblokir pengontrol, tetapi mengizinkan pengguna anonim menggunakan metode terpisah tanpa izin.
Pemeriksaan peran berbasis kebijakan Pemeriksaan peran berbasis kebijakan
Persyaratan peran juga dapat dinyatakan menggunakan sintaks Kebijakan baru, di mana pengembang mendaftarkan kebijakan saat startup sebagai bagian dari konfigurasi layanan Otorisasi. Ini biasanya mengambil bagian dalam ConfigureServices() di file Startup.cs Anda.
Peran juga dapat dicapai dengan menggunakan sintaks kebijakan baru, di mana pengembang mendaftarkan kebijakan sebagai bagian dari konfigurasi layanan otorisasi di startup. Ini biasanya ditambahkan ke ConfigureServices() file Sartup.cs.
Kebijakan diterapkan menggunakan properti Kebijakan pada atribut AuthorizeAttribute;
Terapkan kebijakan dengan menggunakan properti Policy di atas properti AuthorizeAttribute.
Jika Anda ingin menentukan beberapa peran yang diizinkan dalam persyaratan, maka Anda dapat menentukannya sebagai parameter untuk metode RequireRole;
Jika Anda ingin menentukan beberapa peran dalam permintaan, Anda dapat menentukannya sebagai beberapa parameter metode RequireRole:
contohnya mengotorisasi pengguna yang termasuk dalam peran Administrator, PowerUser atau BackupAdministrator.
Pengguna yang berwenang dalam contoh ini akan menjadi bagian dari peran Administrator, PowerUser, atau BackupAdministrator.
Ditransfer dari:Login hyperlink terlihat. |