You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Spring Boot项目中复用独立Spring Security项目的鉴权与权限组件

问题描述

我是Spring框架初学者,目前创建了两个独立项目:

  • 项目A:基于Spring Security和JWT搭建,包含User、Permission、Role等鉴权相关实体及对应数据库,负责统一的鉴权与权限管理;
  • 项目B:Spring Boot业务后端项目,包含业务表数据库,作为Web应用的后端服务。

两个项目各自拥有独立的控制器和启动类,互相没有依赖导入。我想实现在项目B中复用项目A的JWTFilter鉴权检查逻辑和PermissionEvaluator权限控制能力,并且未来计划将这个Spring Security项目(项目A)复用给多个Spring Boot业务项目。

已调研的可行方案

经过调研,我找到了适配自身场景的解决思路:

  1. 数据库Schema区分处理:我的业务表和安全表同属一个数据库但分属不同Schema,因此在Spring的@Table注解中通过添加schema属性指定对应Schema,示例代码如下:
    @Table(name = "user", schema = "security")
    public class User { ... }
    
  2. 跨项目组件与实体可见性处理:通过在项目B的启动类上添加@ComponentScan、@EnableJpaRepository和@EntityScan注解,指定项目A中相关组件、仓库和实体的包路径,解决跨项目的依赖可见性问题,实现对项目A中鉴权逻辑的复用。

内容的提问来源于stack exchange,提问作者Giuseppe Mondelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:05:26