Class AuthzService
java.lang.Object
io.github.xezzon.zeroweb.auth.internal.AuthzService
AuthzService 是授权服务的核心业务逻辑处理组件。
它负责管理角色与用户、角色与权限之间的关系,提供绑定、解绑、查询等操作, 并在用户登录后将授权信息加载到会话中。
- Author:
- xezzon
-
Constructor Summary
ConstructorsConstructorDescriptionAuthzService(RoleUserRepository roleUserRepository, RolePermissionRepository rolePermissionRepository, IUserService4Auth userService, IRoleService4Auth roleService) 构造函数,注入授权服务所需的所有数据仓库和服务。 -
Method Summary
Modifier and TypeMethodDescriptionvoidbindPermissionToRole(RolePermission rolePermission) 将接口权限绑定到指定角色。voidbindUserToRole(RoleUser roleUser) 将用户绑定到指定角色。voidreleaseRolePermission(RolePermission rolePermission) 解除角色与接口权限的关联。voidreleaseRoleUser(RoleUser roleUser) 解除用户与角色的关联。
-
Constructor Details
-
AuthzService
public AuthzService(RoleUserRepository roleUserRepository, RolePermissionRepository rolePermissionRepository, IUserService4Auth userService, IRoleService4Auth roleService) 构造函数,注入授权服务所需的所有数据仓库和服务。- Parameters:
roleUserRepository- 角色用户数据仓库。rolePermissionRepository- 角色权限数据仓库。userService- 用户服务接口。roleService- 角色服务接口。
-
-
Method Details
-
bindUserToRole
-
releaseRoleUser
-
bindPermissionToRole
将接口权限绑定到指定角色。
在绑定前会检查当前用户是否具有绑定权限,以及该权限是否超出其上级角色的权限范围。 如果角色-权限关系已存在,则不做处理。
- Parameters:
rolePermission- 包含角色ID和权限编码的RolePermission对象。- Throws:
cn.dev33.satoken.exception.NotPermissionException- 如果尝试授予的权限超出了上级角色的权限范围。
-
releaseRolePermission
解除角色与接口权限的关联。
在解绑前会检查当前用户是否具有解绑权限或是否是该角色的上级角色。 同时会解除该角色及其所有子角色与该权限的关联。
- Parameters:
rolePermission- 包含角色ID和权限编码的RolePermission对象。
-