管理实用程序的替代品,以获得更大的自治性,面向FastAPI。

permissions-system的Python项目详细描述


权限系统

它是fastapi的插件(但是可以用于类似的框架)任何框架,它提供了最小的
安装程序,用于维护用户组的资源和相关权限。
如何使用它?

应用程序.py

fromfastapiimportFastAPIimportdatabasesimportsqlalchemyimportosfrompermissions_system.PermissionsSystemDatabasesimportPermissionsSapp=FastAPI()DB_URI=os.environ["DB_URI"]database=databases.Database(DB_URI)metadata=sqlalchemy.MetaData()ps=PermissionsS(metadata,database,DB_URI)app.add_event_handler("startup",startup)app.add_event_handler("shutdown",shutdown)asyncdefstartup():awaitdatabase.connect()ps.setup()

for Flask app you will call ps.setup() after db.init(app), assuming you are using flask_sqlalchemy

Step1-实例化权限类。

Step2-在连接数据库后的启动事件中调用setup() ^{em1}{em1}{STR1}${STR1}{STR1}^{STR1}${STR1}{STR1}$******在{STR1}${STR1 1}^{STR1}{STR1的STR1}}{STR1的STR1}}{STR1的STR1}}{str 1}{STR1}}{STR1}}{{STR1}}}{STR1}}}}}{}{str1}$**********

\u permissions将检测您的表并将它们添加到资源中,添加超级管理员用户组(如果还没有)。每次有新资源自动添加到资源表中。默认情况下,用户组super admin拥有所有资源的所有CRUD权限。若要添加新的用户组和相关权限,请使用内置函数“添加用户组”和“添加用户权限”。要获取特定用户是否对特定资源具有CRUD权限,您将调用>;ps.user_拥有_权限(用户编号:UUID,资源:str,许可_类型:许可类型)->;布尔*

PermissionsSystem不像django admin或flask admin。它不提供前端管理仪表板,但提供了管理资源和权限的最小设置。它旨在为开发者提供自主性和更多的控制权。对于前端,您将使用更自定义的或React-adminvue-element-admin

查找示例here,了解如何使用它。

PermissionsSystem现在只使用sqlalchemy并且完全同步

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么会出现这些错误?表达式的非法开始   使用HttpUrlConnection的java测试URL仅适用于前面的www   在大数据集上使用kmeans的java堆外内存   查找Java RandomAccessFile如何以字符形式读取第n个字节   java Android从BroadcastReceiver获取标题和描述   java使用构造函数参数模拟嵌套类并测试方法   正在将Azure Blob项强制转换为Java文件对象   java并行运行testNG套件   java程序在运行时似乎没有进入   贬低Java规则引擎的优点和缺点   文本区域中的java中心文本   java JPA从多个表中选择错误   类Java问题使用类加载器重新加载代码   java如何在Spring非管理类上使用@Value   java(关闭)Gradle导入VS代码失败   java arraylist拆分(“空白”)并计算字数   Android/Java如何在单独的*中调用函数。java文件?   具有基本身份验证的java Apache Camel RSS模块   java为什么程序在出现溢出或下溢时不抛出异常