İçindekiler

Dinamik rol / izin yönetimi bounded context.

Konumlar

KatmanYol
Domaininternal/domain/rbac/
Applicationinternal/application/authz/önceservice.go
HTTPinternal/adapters/http/handler/rbac_handler.go
GoUIinternal/adapters/goui/controller_rbac_notifications.go
Persistenceadapters/persistence/postgres/role_repository.go
Wiringwire_authz.go; wire_http.go, wire_goui.go

Application

Dosyaİş
service.goFacade: izin/rol CRUD, rol-izin atama
resolver.goResolver — oturum izin kontrolü (bellek içi TTL önbellek)
dto.goPermissionInfo, RoleInfo

Resolver tek süreç dağıtımında process belleğinde önbellek tutar; çoklu instance için paylaşımlı invalidation gerekir (şimdilik yok).

HTTP yüzeyleri

Kayıt: server.go/api/v1/rbac/... (izin: rbac:manage)

MethodPathHandler
GET/POST/rbac/permissionsList / Create permission
PATCH/rbac/permissions/:nameUpdate permission
GET/POST/rbac/rolesList / Create role
GET/PATCH/DELETE/rbac/roles/:nameGet / Update / Delete role
PUT/rbac/roles/:name/permissionsSetPermissions

Panel yüzeyleri

PathScreen
/dashboard/rbac/rolesroles
/dashboard/rbac/roles/newrole-new
/dashboard/rbac/roles/:namerole-show
/dashboard/rbac/permissionspermissions

İlişkili