自动加载权限
This commit is contained in:
parent
1d96278818
commit
b7fee9c7ca
@ -33,8 +33,7 @@ async def add_role_domain(
|
||||
casbin_enforcer.add_role_for_user_in_domain(user=item.username,
|
||||
role=item.role_id,
|
||||
domain=item.game)
|
||||
casbin_enforcer.load_model()
|
||||
casbin_enforcer.load_policy()
|
||||
|
||||
return schemas.Msg(code=0, msg='添加成功', data=True)
|
||||
|
||||
|
||||
@ -75,8 +74,7 @@ async def del_role_domain(
|
||||
res = casbin_enforcer.delete_roles_for_user_in_domain(user=data_in.username,
|
||||
role=data_in.role_id,
|
||||
domain=data_in.game)
|
||||
casbin_enforcer.load_model()
|
||||
casbin_enforcer.load_policy()
|
||||
|
||||
await crud.role.delete_id(db, data_in.role_id)
|
||||
return schemas.Msg(code=0, msg='ok', data=res)
|
||||
|
||||
@ -93,8 +91,7 @@ async def add_policy(
|
||||
res = 0
|
||||
for path in data_id.path_list:
|
||||
res = casbin_enforcer.add_policy(data_id.role_id, data_id.game, path, data_id.act)
|
||||
casbin_enforcer.load_model()
|
||||
casbin_enforcer.load_policy()
|
||||
|
||||
return schemas.Msg(code=0, msg='ok', data=res)
|
||||
|
||||
|
||||
@ -108,8 +105,7 @@ async def remove_policy(
|
||||
"""
|
||||
|
||||
res = casbin_enforcer.remove_policy(data_id.role_id, data_id.game, data_id.path, data_id.act)
|
||||
casbin_enforcer.load_model()
|
||||
casbin_enforcer.load_policy()
|
||||
|
||||
return schemas.Msg(code=0, msg='ok', data=res)
|
||||
|
||||
|
||||
@ -157,8 +153,7 @@ async def del_api(
|
||||
paths = await crud.api_list.find_ids(db, data_in.ids, {'path': 1})
|
||||
for item in paths:
|
||||
casbin_enforcer.remove_filtered_policy(2, item['path'])
|
||||
casbin_enforcer.load_model()
|
||||
casbin_enforcer.load_policy()
|
||||
|
||||
# 删除保存的记录
|
||||
res = await crud.api_list.del_api(db, data_in)
|
||||
|
||||
|
@ -141,5 +141,8 @@ class Adapter(persist.Adapter):
|
||||
|
||||
|
||||
casbin_adapter = Adapter(settings.DATABASE_URI, settings.MDB_DB)
|
||||
casbin_enforcer = casbin.Enforcer('rbac_model.conf', casbin_adapter)
|
||||
casbin_enforcer = casbin.SyncedEnforcer('rbac_model.conf', casbin_adapter)
|
||||
casbin_model = casbin_enforcer.get_model()
|
||||
casbin_enforcer.start_auto_load_policy(30)
|
||||
|
||||
|
||||
|
@ -49,6 +49,7 @@ class SyncedEnforcer():
|
||||
return
|
||||
self._auto_loading.value = True
|
||||
self._auto_loading_thread = threading.Thread(target=self._auto_load_policy, args=[interval], daemon=True)
|
||||
self._auto_loading_thread.start()
|
||||
|
||||
def stop_auto_load_policy(self):
|
||||
"""stops the thread started by start_auto_load_policy"""
|
||||
|
Loading…
Reference in New Issue
Block a user