Skip to content

安全

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/register

3. 使用注解保护接口

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);
    }
}

下一步

示例代码

查看完整的示例代码:安全示例

Released under the Apache License 2.0