跳到主内容

概述

简介

与单个Casdoor组织关联的所有用户共享对该组织的应用程序的访问权限。 然而,可能会有一些情况,你希望限制用户访问某些应用程序或应用程序内的特定资源。 在这种情况下,您可以利用Casbin提供的Permission功能。

在深入探讨这个话题之前,重要的是要对Casbin的工作方式及其相关概念,如模型,策略和适配器有基本的理解。 简而言之,模型定义了您的权限策略的结构以及将请求与这些策略及其结果进行匹配的标准。 另一方面,策略描述了具体的权限规则。 一旦Casbin拥有了必要的模型和策略信息,它就可以对传入的请求执行权限控制。 作为一个抽象层,适配器将Casbin的执行器与策略源隔离开来,允许将策略存储在各种位置,如文件或数据库中。

回到Casdoor的权限配置主题,您可以在Casdoor Web UI中的Model配置项中为您的组织添加一个模型,以及在Permission配置项中为您的组织添加一个策略。 Casbin在线编辑器可以为您提供针对您特定使用场景定制的模型和策略文件。 您可以轻松地通过其Web UI将Model文件导入到Casdoor中,供内置的Casbin使用。 然而,对于策略(即Casdoor Web UI中的Permission配置项),需要进一步的说明,这将在后面进行讨论。

就像你的应用程序需要通过Casdoor内置的Casbin来执行权限控制一样,Casdoor本身也利用自己的模型和策略通过Casbin来规范API接口的访问权限。 尽管Casdoor可以从内部代码调用Casbin,但外部应用程序无法这样做。 作为一种解决方案,Casdoor为外部应用程序提供了一个API,以调用内置的Casbin。 我们将很快提供这些API接口的定义以及如何使用它们的说明。

在本章的最后部分,我们将展示一个实际的例子,来演示Casdoor如何与外部应用程序协同工作进行权限控制。

让我们开始吧!