安全
LCGYL Framework 提供了全面的安全特性,保护应用免受常见安全威胁。
核心特性
- Web 安全集成:开箱即用的 JWT 认证和授权(新增)
- 声明式安全:使用注解保护接口(新增)
- 认证:用户身份验证
- 授权:权限控制
- 加密:数据加密和解密
- CSRF 防护:跨站请求伪造防护
- XSS 防护:跨站脚本攻击防护
- SQL 注入防护:参数化查询
快速开始
1. 添加依赖
gradle
dependencies {
implementation 'com.lcgyl:lcgyl-security-web-integration:2.2.0'
}2. 配置
yaml
lcgyl:
security:
jwt:
secret-key: your-secret-key
expiration: 86400000 # 24小时
web:
security:
enabled: true
exclude-paths:
- /api/auth/login
- /api/auth/register3. 使用注解保护接口
java
@RestController
@RequestMapping("/api/users")
public class UserController {
// 需要登录
@GetMapping("/profile")
@RequiresAuthentication
public User getProfile(@CurrentUser UserDetails user) {
return userService.getProfile(user.getUserId());
}
// 需要 ADMIN 角色
@PostMapping
@RequiresRole("ADMIN")
public User createUser(@RequestBody User user) {
return userService.create(user);
}
// 需要 user:delete 权限
@DeleteMapping("/{id}")
@RequiresPermission("user:delete")
public void deleteUser(@PathVariable Long id) {
userService.delete(id);
}
}下一步
示例代码
查看完整的示例代码:安全示例