Casbin.aspnetCore adalah integrasi dan ekstensi Casbin.net untuk ASP.NET Core.
Proyek ini sedang berkembang, Anda dapat menginstal versi build untuk mencobanya.
dotnet add package Casbin . AspNetCore -- version < build package version > Atau Anda membuat file NuGet.config pada direktori solusi Anda seperti ini.
< configuration >
< packageSources >
< add key = " nuget.org " value = " https://api.nuget.org/v3/index.json " />
</ packageSources >
</ configuration > Anda harus menambahkan layanan di metode ConfigureServices dan menambahkan middleware di metode Configure seperti ini:
public void ConfigureServices ( IServiceCollection services )
{
// Other codes...
//Add Casbin Authorization
services . AddCasbinAuthorization ( options =>
{
options . DefaultModelPath = "<model path>" ;
options . DefaultPolicyPath = "<policy path>" ;
} ) ;
}
public void Configure ( IApplicationBuilder app , IWebHostEnvironment env )
{
// Other codes...
app . UseCasbinAuthorization ( ) ;
// You can add this to support offical authorization too.
app . UseAuthorization ( ) ;
// Other codes...
}Sekarang Anda dapat menggunakan atribut seperti otorisasi resmi, jika Anda menggunakan model dasar, itu akan seperti ini:
[ CasbinAuthorize ( "<obj>" , "<act>" ) ]
public IActionResult Index ( )
{
return View ( ) ;
} Berikut adalah grafik urutan yang dapat menggambarkan proses middleware ini. Pada awalnya, sepertinya proses middleware otorisasi resmi. Itu berubah di bagian setengah terakhir.
Aplikasi sampel menggunakan Casbin.AspNetCore dapat ditemukan di direktori sampel.
public interface IEnforcerProvider
{
// Before
public Enforcer ? GetEnforcer ( ) ;
// Now
public IEnforcer ? GetEnforcer ( ) ;
} public interface ICasbinModelProvider
{
// Before
public Model ? GetModel ( ) ;
// Now
public IModel ? GetModel ( ) ;
} Proyek ini berada di bawah lisensi Apache 2.0. Lihat file lisensi untuk teks lisensi lengkap.