How karosown/katool-security works
KaTool Security is a role- and permission-based authentication framework spanning a centralized auth-management service and adapters for in-process, Dubbo, Spring Cloud Gateway, and Zuul use. The main request path applies login and role/permission checks before allowing an application request; the auth center manages users, tokens, roles, sites, and endpoint rules. README documents these modes and capabilities; sampled source confirms portions of user and endpoint-rule management, while many runtime links below rely on the documented module responsibilities and names.
Main entry points: KaToolSecurityAuthCenterApplication.java Authentication Center · js Management UI · AuthInterceptor.java Auth Interceptor · KaAuthFilter.java Cloud Gateway Filter
Components 27
Request Enforcement
- Auth Annotations
katool-security-core/src/main/java/cn/katool/security/core/annotation/AuthCheck.java - Auth Interceptor
katool-security-interceptor/src/main/java/cn/katool/security/interceptor/AuthInterceptor.java - Dubbo Filter
katool-security-interceptor/src/main/java/cn/katool/security/filter/DubboProviderAuthFilter.java - Auth Logic
katool-security-interface/src/main/java/cn/katool/security/logic/KaSecurityAuthLogic.java - Logic Container
katool-security-interface/src/main/java/cn/katool/security/logic/KaToolSecurityAuthLogicContainer.java
Framework Integration
- Boot Starter
katool-security-spring-boot-starter/src/main/java/cn/katool/security/starter/KaSecurityIniter.java - Cloud Gateway Filter
katool-security-gateway-starter-parent/katool-security-gateway-spring-cloud-gateway-starter/src/main/java/cn/katool/security/starter/gateway/gateway/filter/KaAuthFilter.java - Zuul Filter
katool-security-gateway-starter-parent/katool-security-gateway-zuul-starter/src/main/java/cn/katool/security/starter/gateway/zuul/filter/KaAuthFilter.java - Gateway Auth Utility
katool-security-gateway-starter-parent/katool-security-gateway-spring-cloud-gateway-starter/src/main/java/cn/katool/security/starter/utils/KaSecurityAuthUtil.java - Auth Service API
katool-security-interface/src/main/java/cn/katool/security/service/AuthService.java
Auth Center
- Authentication Center
katool-security-auth/src/main/java/cn/katool/security/auth/KaToolSecurityAuthCenterApplication.java
Administration
- User Management
katool-security-auth/src/main/java/cn/katool/security/auth/controller/KaSecurityUserController.java - User Service
katool-security-auth/src/main/java/cn/katool/security/auth/service/KaSecurityUserService.java - Endpoint Rules
katool-security-auth/src/main/java/cn/katool/security/auth/controller/KaSecurityAuthController.java - Rule Service
katool-security-auth/src/main/java/cn/katool/security/auth/service/impl/AuthInnerServiceImpl.java - Role Management
katool-security-auth/src/main/java/cn/katool/security/auth/controller/KaSecurityRoleController.java - Site Settings
katool-security-auth/src/main/java/cn/katool/security/auth/controller/KaSecuritySiteController.java - Token Operations
katool-security-auth/src/main/java/cn/katool/security/auth/controller/KaSecurityTokenController.java - Management UI
katool-security-auth/src/main/resources/static/js
State and Jobs
- Relational Database
- Redis
- Token Cleanup
katool-security-task/src/main/java/cn/katool/security/task/TokenTask.java - Rule Sync Task
katool-security-gateway-starter-parent/katool-security-gateway-core/src/main/java/cn/katool/security/starter/gateway/core/job/AuthListSyncTask.java
Other components
- Application Request
- Protected Application
- API Gateway
- Administrator
Connections 34
- Application Request → Auth Interceptor: submits request
- Auth Interceptor → Auth Annotations: evaluates annotations
- Auth Interceptor → Auth Logic: checks access
- Auth Logic → Logic Container: dispatches logic
- Auth Interceptor → Protected Application: allows request
- Application Request → Cloud Gateway Filter: sends request
- API Gateway → Cloud Gateway Filter: dispatches request
- API Gateway → Zuul Filter: dispatches request
- Cloud Gateway Filter → Gateway Auth Utility: uses auth utility
- Cloud Gateway Filter → Auth Service API: requests auth data
- Zuul Filter → Auth Service API: requests auth data
- Auth Service API → Authentication Center: remote calls
- Boot Starter → Auth Interceptor: configures checks
- Dubbo Filter → Auth Logic: checks provider calls
- Authentication Center → User Management: serves user routes
- Authentication Center → Endpoint Rules: serves rule routes
- Authentication Center → Role Management: serves role routes
- Authentication Center → Site Settings: serves site routes
- Authentication Center → Token Operations: serves token routes
- User Management → User Service: manages users
- User Service → Relational Database: reads and writes
- Endpoint Rules → Rule Service: manages rules
- Rule Service → Relational Database: reads and writes
- Role Management → Relational Database: manages role data
- Site Settings → Relational Database: manages site data
- Token Operations → Redis: manages tokens
- Token Cleanup → Redis: cleans expired tokens
- Rule Sync Task → Auth Service API: synchronizes rules
- Administrator → Management UI: uses console
- Management UI → User Management: calls management API
- Management UI → Endpoint Rules: calls management API
- Management UI → Role Management: calls management API
- Management UI → Site Settings: calls management API
- Management UI → Token Operations: calls management API