Framework
ApiHug SDK spring security extension
安全框架是一个提供身份验证(authentication)、授权(authorization)和防止常见攻击的框架。
️️⚠️ Apihug Security 与 Spring Security 在运行时不兼容,不建议在运行时共存。
ApiHug 提供了一个极简又凑效的解决方案,有别于传统 Apache Shiro, 或者 Spring Security。
底层依然是基于资源(Resource 也就是API)权限管理;如集合角色,就是一个极简RBAC架构,开箱即用。
Proto 层如何定义协议 极简 Authentication & Authorization
目前Aspect SecurityAspect 切面只支持 BEFORE 也就是进入资源(API)业务逻辑前校验。
配置路径 hope.security
; 配置对象 HopeSecurityProperties
。
配置 | 备注 |
---|---|
enabled | 是否启用 ApiHug Security. |
jwt | JWT 配置. |
jwt.base64Secret | Base64 secret. |
jwt.secret | secret. |
jwt.tokenValidityInSecondsForRememberMe | Remember me 时候有效期,默认30天. |
jwt.tokenValidityInSeconds | 默认有效时间,7天. |
⚠️ Apihug Security 与 Spring Security 在运行时不兼容。
禁用 Spring Security 最简单的方法是从项目中移除其 依赖项。
通过移除以下依赖,可以清除项目中所有由 Spring Security 提供的安全配置和默认设置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>...</version>
</dependency>
移除该依赖后,应用程序中将不再包含任何 Spring Security 的功能。
但如果您仍希望使用部分 Spring Security 的组件,我们建议您手动禁用其自动配置功能:
排除 Spring Security 自动配置
当项目类路径中包含 spring-boot-starter-security
时,Spring Boot 会自动启用安全配置。若要禁用该自动配置,可在 application.properties
文件中添加如下配置:
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
如果您希望完全禁用 Spring Security,建议仅通过 spring.autoconfigure.exclude
配置实现,而不要创建 SecurityConfiguration
类。
请注意:手动定义 Spring Security 配置类会覆盖 application.properties
中的配置,因此当两者同时存在时,application.properties
中的排除配置将失效。
To be done 🏗️