管理实用程序的替代品,以获得更大的自治性,面向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-admin或vue-element-admin
查找示例here,了解如何使用它。
PermissionsSystem现在只使用sqlalchemy并且完全同步
- 项目
标签: