mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-03 16:35:10 +00:00
* perf: 修改 role handler * perf: 设置默认的角色,系统用户角色添加权限 * perf: authentication 还是放到系统中吧 Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: Jiangjie.Bai <32935519+BaiJiangJie@users.noreply.github.com>
28 lines
925 B
Python
28 lines
925 B
Python
from django.dispatch import receiver
|
|
from django.db.models.signals import post_migrate, post_save
|
|
from django.apps import apps
|
|
|
|
from .models import SystemRole, OrgRole
|
|
from .builtin import BuiltinRole
|
|
|
|
|
|
@receiver(post_migrate)
|
|
def after_migrate_update_builtin_role_permissions(sender, app_config, **kwargs):
|
|
# 最后一个 app migrations 后执行, 更新内置角色的权限
|
|
last_app = list(apps.get_app_configs())[-1]
|
|
if app_config.name == last_app.name:
|
|
print("After migration, update builtin role permissions")
|
|
BuiltinRole.sync_to_db()
|
|
|
|
|
|
@receiver(post_save, sender=SystemRole)
|
|
def on_system_role_update(sender, instance, created, **kwargs):
|
|
from users.models import User
|
|
User.expire_users_rbac_perms_cache()
|
|
|
|
|
|
@receiver(post_save, sender=OrgRole)
|
|
def on_org_role_update(sender, instance, created, **kwargs):
|
|
from users.models import User
|
|
User.expire_users_rbac_perms_cache()
|