AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
dongbb单体应用项目 ![](https://img.kancloud.cn/d7/66/d766c4f6099653efb578c385a454b843_716x209.png) 所以,server-jwt中主要包含两部分服务(截止2020年3月29日)。 * 第一部分:JWT令牌服务(登录及接口鉴权)及过滤器。 * 第二部分:RBAC权限管理的接口服务,角色管理、菜单管理、用户管理等服务。 我们只需要迁移第二部分的业务代码,第一部分的JWT内容,我们后续会结合spring Cloud Gatewa和Spring Security Oauth来实现(暂时不做)。 ## 一、数据库配置 在aservice-rbac中引入上一节单独拆分出来的dbcloud-persistence-spring-boot-starter,并做好mybatis文件扫描配置(上一节内容)。然后配置数据库连接。 ~~~ spring: application: name: aservice-rbac jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 datasource: url: jdbc:mysql://192.168.161.3:3306/linnadb?useUnicode=true&characterEncoding=utf-8&useSSL=false username: password: driver-class-name: com.mysql.cj.jdbc.Driver # debug: true mybatis: configuration: map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ~~~ ## 二、服务层及控制层迁移 角色管理、用户管理、菜单管理、接口管理等代码,直接从dongbb单体应用项目挪过来即可。业务代码不要动,修改一下package包名。 ![](https://img.kancloud.cn/18/a4/18a496c547bf8e250d6f10c2278b7694_458x757.png) 原dongbb单体应用项目是带有基于Spring Security的JWT认证功能的。在aservice-rbac中,我们仍然需要引入Spring Security,因为SysuserService需要使用到Spring Security的PasswordEncoder进行新增用户密码的加密存储。 ~~~ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ~~~ 我们新的微服务安全认证也是基于Spring Security,但是认证和鉴权会单独抽取为一个服务,结合Spring Cloud Gateway网关进行验证,不在aservice-rbac中进行认证和鉴权。所以在aservice-rbac中将spring security的安全认证自动配置功能排除掉(不生效)。 ![](https://img.kancloud.cn/eb/3a/eb3a8e6a8f386df9aee455357f268328_965x524.png) ## 三、接口访问测试 ![](https://img.kancloud.cn/0b/b6/0bb62a072a615ebb2ba9dbe8e203f605_775x811.png)