handler

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package handler 角色分配处理器

Package handler REST API 处理器基础

Package handler 策略管理处理器

Package handler 资源管理处理器

Package handler 角色管理处理器

Index

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 模块特定的方法

func NewBaseHandler

func NewBaseHandler() *BaseHandler

NewBaseHandler 创建基础 Handler

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]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL