Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk membuat AutriatTribute tersuai dalam teras ASP.NET untuk keperluan tuntutan mudah?

Bagaimana untuk membuat AutriatTribute tersuai dalam teras ASP.NET untuk keperluan tuntutan mudah?

Susan Sarandon
Lepaskan: 2025-02-01 18:21:09
asal
772 orang telah melayarinya

How to Create a Custom AuthorizeAttribute in ASP.NET Core for Simple Claim Requirements?

Buat AutriatTribute Custom di ASP.NET Core untuk memenuhi keperluan pernyataan mudah

Dalam versi awal Asp.net Core, anda boleh membuat Custom

dengan menulis semula bool AuthorizeCore(HttpContextBase httpContext). Walau bagaimanapun, kaedah ini tidak lagi wujud dalam . AuthorizeAttribute AuthorizeAttribute Kaedah semasa membuat Custom

adalah menggunakan reka bentuk strategik baru, dan dokumennya

di sini AuthorizeAttribute. Idea asas kaedah baru ini adalah menggunakan ciri baru untuk menentukan "strategi" (seperti ). atau lebih). [Authorize] [Authorize(Policy = "YouNeedToBe18ToDoThis")] Reka bentuk strategik adalah suplemen yang baik untuk rangka kerja, dan pasukan teras keselamatan ASP.NET harus memuji untuk ini. Dalam erti kata lain, ia tidak sesuai untuk semua situasi. Kelemahan kaedah ini adalah bahawa ia gagal menyediakan penyelesaian yang mudah untuk keperluan yang paling biasa: hanya menegaskan pengawal atau pernyataan operasi yang perlu diberikan. Sekiranya permohonan itu mungkin mempunyai beratus -ratus kebenaran diskret untuk menguruskan operasi CRUD pada satu sumber rehat ("Cancreaterorder", "Canreadordorder", "CanUpdateOrder", "Candeleteorder", dll), kaedah baru mesti memerlukan nama dan perisytiharan strategi Nama Ulang satu -untuk pemetaan (mis. Startup.cs), sama ada menulis beberapa kod untuk melaksanakan pendaftaran ini semasa runtime (contohnya, baca semua jenis pengisytiharan dari pangkalan data dan laksanakan panggilan di atas dalam kitaran). Bagi kebanyakan kes, masalah kaedah ini adalah bahawa ia adalah overhead yang berlebihan.

Walaupun pasukan keselamatan teras ASP.NET mengesyorkan untuk tidak membuat penyelesaian anda sendiri, dalam beberapa kes, ini mungkin pilihan permulaan yang paling berhati -hati. options.AddPolicy("CanUpdateOrder", policy => policy.RequireClaim(MyClaimTypes.Permission, "CanUpdateOrder"));

Berikut adalah pelaksanaan .

Atas ialah kandungan terperinci Bagaimana untuk membuat AutriatTribute tersuai dalam teras ASP.NET untuk keperluan tuntutan mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan