casbin aspnetcore
v1.4.0
casbin.aspnetcore هو تكامل casbin.net وتمديده لـ ASP.NET Core.
هذا المشروع على التطوير ، يمكنك تثبيت إصدار البناء لتجربته.
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. راجع ملف الترخيص لنص الترخيص الكامل.