Documentation
¶
Overview ¶
Package handler 角色分配处理器
Package handler REST API 处理器基础 ¶
Package handler 策略管理处理器 ¶
Package handler 资源管理处理器 ¶
Package handler 角色管理处理器
Index ¶
- type AssignmentHandler
- func (h *AssignmentHandler) GrantRole(c *gin.Context)
- func (h *AssignmentHandler) ListAssignmentsByRole(c *gin.Context)
- func (h *AssignmentHandler) ListAssignmentsBySubject(c *gin.Context)
- func (h *AssignmentHandler) RevokeRole(c *gin.Context)
- func (h *AssignmentHandler) RevokeRoleByID(c *gin.Context)
- type BaseHandler
- type CheckHandler
- type PolicyHandler
- type ResourceHandler
- func (h *ResourceHandler) CreateResource(c *gin.Context)
- func (h *ResourceHandler) DeleteResource(c *gin.Context)
- func (h *ResourceHandler) GetResource(c *gin.Context)
- func (h *ResourceHandler) GetResourceByKey(c *gin.Context)
- func (h *ResourceHandler) ListResources(c *gin.Context)
- func (h *ResourceHandler) UpdateResource(c *gin.Context)
- func (h *ResourceHandler) ValidateAction(c *gin.Context)
- type RoleHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AssignmentHandler ¶
type AssignmentHandler struct {
// contains filtered or unexported fields
}
AssignmentHandler 角色分配处理器
func NewAssignmentHandler ¶
func NewAssignmentHandler(commander assignmentDomain.Commander, queryer assignmentDomain.Queryer) *AssignmentHandler
NewAssignmentHandler 创建角色分配处理器
func (*AssignmentHandler) GrantRole ¶
func (h *AssignmentHandler) GrantRole(c *gin.Context)
GrantRole 授予角色 @Summary 授予角色 @Tags Authorization-Assignments @Accept json @Produce json @Param request body dto.GrantRequest true "授予角色请求" @Success 200 {object} dto.Response{data=dto.AssignmentResponse} @Router /authz/assignments/grant [post]
func (*AssignmentHandler) ListAssignmentsByRole ¶
func (h *AssignmentHandler) ListAssignmentsByRole(c *gin.Context)
ListAssignmentsByRole 列出角色的分配记录 @Summary 列出角色的分配记录 @Tags Authorization-Assignments @Produce json @Param id path string true "角色ID" @Success 200 {object} dto.Response{data=[]dto.AssignmentResponse} @Router /authz/roles/{id}/assignments [get]
func (*AssignmentHandler) ListAssignmentsBySubject ¶
func (h *AssignmentHandler) ListAssignmentsBySubject(c *gin.Context)
ListAssignmentsBySubject 列出主体的角色分配 @Summary 列出主体的角色分配 @Tags Authorization-Assignments @Produce json @Param subject_type query string true "主体类型" Enums(user) @Param subject_id query string true "主体ID" @Success 200 {object} dto.Response{data=[]dto.AssignmentResponse} @Router /authz/assignments/subject [get]
func (*AssignmentHandler) RevokeRole ¶
func (h *AssignmentHandler) RevokeRole(c *gin.Context)
RevokeRole 撤销角色 @Summary 撤销角色 @Tags Authorization-Assignments @Accept json @Produce json @Param request body dto.RevokeRequest true "撤销角色请求" @Success 200 {object} dto.Response @Router /authz/assignments/revoke [post]
func (*AssignmentHandler) RevokeRoleByID ¶
func (h *AssignmentHandler) RevokeRoleByID(c *gin.Context)
RevokeRoleByID 根据分配ID撤销角色 @Summary 根据分配ID撤销角色 @Tags Authorization-Assignments @Param id path string true "分配ID" @Success 200 {object} dto.Response @Router /authz/assignments/{id} [delete]
type BaseHandler ¶
type BaseHandler struct {
*core.BaseHandler
}
BaseHandler 继承公共的 BaseHandler,并添加 authz 模块特定的方法
type CheckHandler ¶
type CheckHandler struct {
// contains filtered or unexported fields
}
CheckHandler PDP(策略判定)HTTP 入口。
func NewCheckHandler ¶
func NewCheckHandler(casbin policyDomain.CasbinAdapter) *CheckHandler
NewCheckHandler 创建判定处理器。
func (*CheckHandler) Check ¶
func (h *CheckHandler) Check(c *gin.Context)
Check 对单条 (subject, domain, object, action) 执行 Casbin Enforce。 @Summary 策略判定(Enforce) @Tags Authorization-Policies @Accept json @Produce json @Param request body dto.CheckRequest true "判定请求" @Success 200 {object} dto.Response{data=dto.CheckResponse} @Router /authz/check [post]
type PolicyHandler ¶
type PolicyHandler struct {
// contains filtered or unexported fields
}
PolicyHandler 策略处理器
func NewPolicyHandler ¶
func NewPolicyHandler(commander policyDomain.Commander, queryer policyDomain.Queryer) *PolicyHandler
NewPolicyHandler 创建策略处理器
func (*PolicyHandler) AddPolicyRule ¶
func (h *PolicyHandler) AddPolicyRule(c *gin.Context)
AddPolicyRule 添加策略规则 @Summary 添加策略规则 @Tags Authorization-Policies @Accept json @Produce json @Param request body dto.AddPolicyRequest true "添加策略请求" @Success 200 {object} dto.Response @Router /authz/policies [post]
func (*PolicyHandler) GetCurrentVersion ¶
func (h *PolicyHandler) GetCurrentVersion(c *gin.Context)
GetCurrentVersion 获取当前策略版本 @Summary 获取当前策略版本 @Tags Authorization-Policies @Produce json @Success 200 {object} dto.Response{data=dto.PolicyVersionResponse} @Router /authz/policies/version [get]
func (*PolicyHandler) GetPoliciesByRole ¶
func (h *PolicyHandler) GetPoliciesByRole(c *gin.Context)
GetPoliciesByRole 获取角色的策略列表 @Summary 获取角色的策略列表 @Tags Authorization-Policies @Produce json @Param id path string true "角色ID" @Success 200 {object} dto.Response{data=[]dto.PolicyRuleResponse} @Router /authz/roles/{id}/policies [get]
func (*PolicyHandler) RemovePolicyRule ¶
func (h *PolicyHandler) RemovePolicyRule(c *gin.Context)
RemovePolicyRule 移除策略规则 @Summary 移除策略规则 @Tags Authorization-Policies @Accept json @Produce json @Param request body dto.RemovePolicyRequest true "移除策略请求" @Success 200 {object} dto.Response @Router /authz/policies [delete]
type ResourceHandler ¶
type ResourceHandler struct {
// contains filtered or unexported fields
}
ResourceHandler 资源处理器
依赖倒置原则:Handler 依赖 driving 接口,不依赖具体实现
func NewResourceHandler ¶
func NewResourceHandler( commander resourceDomain.Commander, queryer resourceDomain.Queryer, ) *ResourceHandler
NewResourceHandler 创建资源处理器
func (*ResourceHandler) CreateResource ¶
func (h *ResourceHandler) CreateResource(c *gin.Context)
CreateResource 创建资源 @Summary 创建资源 @Tags Authorization-Resources @Accept json @Produce json @Param request body dto.CreateResourceRequest true "创建资源请求" @Success 200 {object} dto.Response{data=dto.ResourceResponse} @Router /authz/resources [post]
func (*ResourceHandler) DeleteResource ¶
func (h *ResourceHandler) DeleteResource(c *gin.Context)
DeleteResource 删除资源 @Summary 删除资源 @Tags Authorization-Resources @Param id path string true "资源ID" @Success 200 {object} dto.Response @Router /authz/resources/{id} [delete]
func (*ResourceHandler) GetResource ¶
func (h *ResourceHandler) GetResource(c *gin.Context)
GetResource 获取资源详情 @Summary 获取资源详情 @Tags Authorization-Resources @Produce json @Param id path string true "资源ID" @Success 200 {object} dto.Response{data=dto.ResourceResponse} @Router /authz/resources/{id} [get]
func (*ResourceHandler) GetResourceByKey ¶
func (h *ResourceHandler) GetResourceByKey(c *gin.Context)
GetResourceByKey 根据键获取资源 @Summary 根据键获取资源 @Tags Authorization-Resources @Produce json @Param key path string true "资源键" @Success 200 {object} dto.Response{data=dto.ResourceResponse} @Router /authz/resources/key/{key} [get]
func (*ResourceHandler) ListResources ¶
func (h *ResourceHandler) ListResources(c *gin.Context)
ListResources 列出资源 @Summary 列出资源 @Tags Authorization-Resources @Produce json @Param app_name query string false "应用名称" @Param domain query string false "域" @Param type query string false "类型" @Param offset query int false "偏移量" default(0) @Param limit query int false "每页数量" default(10) @Success 200 {object} dto.ListResponse{data=[]dto.ResourceResponse} @Router /authz/resources [get]
func (*ResourceHandler) UpdateResource ¶
func (h *ResourceHandler) UpdateResource(c *gin.Context)
UpdateResource 更新资源 @Summary 更新资源 @Tags Authorization-Resources @Accept json @Produce json @Param id path string true "资源ID" @Param request body dto.UpdateResourceRequest true "更新资源请求" @Success 200 {object} dto.Response{data=dto.ResourceResponse} @Router /authz/resources/{id} [put]
func (*ResourceHandler) ValidateAction ¶
func (h *ResourceHandler) ValidateAction(c *gin.Context)
ValidateAction 验证资源动作 @Summary 验证资源动作 @Tags Authorization-Resources @Accept json @Produce json @Param request body dto.ValidateActionRequest true "验证动作请求" @Success 200 {object} dto.Response{data=dto.ValidateActionResponse} @Router /authz/resources/validate-action [post]
type RoleHandler ¶
type RoleHandler struct {
// contains filtered or unexported fields
}
RoleHandler 角色处理器
依赖倒置原则:Handler 依赖 driving 接口,不依赖具体实现
func NewRoleHandler ¶
func NewRoleHandler( commander roleDomain.Commander, queryer roleDomain.Queryer, ) *RoleHandler
NewRoleHandler 创建角色处理器
func (*RoleHandler) CreateRole ¶
func (h *RoleHandler) CreateRole(c *gin.Context)
CreateRole 创建角色 @Summary 创建角色 @Tags Authorization-Roles @Accept json @Produce json @Param request body dto.CreateRoleRequest true "创建角色请求" @Success 200 {object} dto.Response{data=dto.RoleResponse} @Router /authz/roles [post]
func (*RoleHandler) DeleteRole ¶
func (h *RoleHandler) DeleteRole(c *gin.Context)
DeleteRole 删除角色 @Summary 删除角色 @Tags Authorization-Roles @Param id path string true "角色ID" @Success 200 {object} dto.Response @Router /authz/roles/{id} [delete]
func (*RoleHandler) GetRole ¶
func (h *RoleHandler) GetRole(c *gin.Context)
GetRole 获取角色详情 @Summary 获取角色详情 @Tags Authorization-Roles @Produce json @Param id path string true "角色ID" @Success 200 {object} dto.Response{data=dto.RoleResponse} @Router /authz/roles/{id} [get]
func (*RoleHandler) ListRoles ¶
func (h *RoleHandler) ListRoles(c *gin.Context)
ListRoles 列出角色 @Summary 列出角色 @Tags Authorization-Roles @Produce json @Param offset query int false "偏移量" default(0) @Param limit query int false "每页数量" default(10) @Success 200 {object} dto.ListResponse{data=[]dto.RoleResponse} @Router /authz/roles [get]
func (*RoleHandler) UpdateRole ¶
func (h *RoleHandler) UpdateRole(c *gin.Context)
UpdateRole 更新角色 @Summary 更新角色 @Tags Authorization-Roles @Accept json @Produce json @Param id path string true "角色ID" @Param request body dto.UpdateRoleRequest true "更新角色请求" @Success 200 {object} dto.Response{data=dto.RoleResponse} @Router /authz/roles/{id} [put]