generic.backend module

class generic.backend.BlacklistBackend[源代码]

基类:AllowAllUsersModelBackend

在django自带的认证后端的基础上,除去在黑名单中记录的用户权限。

get_all_permissions(user: User, obj=None) set[str][源代码]

获取用户的所有权限,也就是用户所在组的权限 + 用户自身权限 - 黑名单中的权限

get_group_permissions(user: User, obj=None) set[str][源代码]

获取用户通过其所在组获得的权限,不包括黑名单中的权限。

get_user_permissions(user: User, obj=None) set[str][源代码]

获取用户自身权限,不包括组权限和黑名单中的权限。

has_module_perms(user: User, app_label: str) bool[源代码]

检查用户的应用权限

如果用户有其中任何一个权限,就认为他具有这个应用的权限。

has_perm(user: User, perm: str, obj=None) bool[源代码]

检查用户的特定权限。暂不支持对于某一个特定的obj查询。

with_perm(perm: str | Permission, is_active: bool = True, include_superusers: bool = True, obj=None) QuerySet[源代码]

返回所有具有perm权限的用户列表。默认要求用户is_active,且包括超级用户。

参数:
  • perm (str | Permission) -- 权限,字符串格式为app_label.codename

  • is_active (bool, optional) -- 是否要求用户是激活状态,默认为True

  • include_superusers (bool, optional) -- 是否包括超级用户

  • obj (Any, optional) -- 查询对于某一个特定的对象的权限,父类暂不支持

返回:

具有权限的用户集合