casbin aspnetcore
v1.4.0
casbin.aspnetcoreは、asp.netコアのcasbin.net統合と拡張です。
このプロジェクトは開発に関するもので、ビルドバージョンをインストールして試してみることができます。
dotnet add package Casbin . AspNetCore -- version < build package version >または、このようなソリューションディレクトリにNuGet.configファイルを作成します。
< configuration >
< packageSources >
< add key = " nuget.org " value = " https://api.nuget.org/v3/index.json " />
</ packageSources >
</ configuration >ConfigureServicesメソッドでサービスを追加し、このようなConfigureメソッドにミドルウェアを追加する必要があります。
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...
}これで、属性のような属性を使用することができます。基本モデルを使用する場合、次のようになります。
[ CasbinAuthorize ( "<obj>" , "<act>" ) ]
public IActionResult Index ( )
{
return View ( ) ;
} このミドルウェアのプロセスを十分に説明できるシーケンスチャートがあります。最初は、公式認可ミドルウェアのプロセスのように見えます。それは後半で変化します。
Casbin.AspNetCoreを使用したサンプルアプリケーションは、サンプルディレクトリにあります。
public interface IEnforcerProvider
{
// Before
public Enforcer ? GetEnforcer ( ) ;
// Now
public IEnforcer ? GetEnforcer ( ) ;
} public interface ICasbinModelProvider
{
// Before
public Model ? GetModel ( ) ;
// Now
public IModel ? GetModel ( ) ;
} このプロジェクトは、Apache 2.0ライセンスの下にあります。完全なライセンステキストについては、ライセンスファイルを参照してください。