Snapper Snapper
首页
文档
  • 权限演示 (opens new window)
  • 工作流演示 (opens new window)
问答
更新日志
gitee (opens new window)
首页
文档
  • 权限演示 (opens new window)
  • 工作流演示 (opens new window)
问答
更新日志
gitee (opens new window)
  • 服务端配置集成

    • 项目介绍
    • 项目集成
      • 摘要
      • 微服务说明
      • 权限微服务
        • 授权目录
        • 属性配置
        • 配置文件
      • 网关微服务
        • 说明
        • 过滤器扩展点
        • 网关目录
        • 属性配置
        • 配置文件
      • 业务微服务
        • 说明
        • 业务目录
        • 属性配置
        • 配置文件
    • 调试启动
    • 项目使用
    • 权限使用
    • 权限的默认规则
    • 系统注解及上下文清单
    • 登录模式
    • 高级查询与注入
    • 状态流使用
    • 其他系统工具使用
  • 集成使用
  • 服务端配置集成
frog
2023-08-01
目录

项目集成原创

# 项目集成

提示

Snapper Cloud(以下简称Snapper) 基于Spring Cloud 和 Spring Boot构建,依赖MyBatis-plus,当前仅支持MySQL数据库,项目也在不断扩展中

# 摘要

本章主要介绍基于Spring Boot的项目如何集成Snapper Cloud框架以实现授权微服务和网关微服务的集成,同时在业务微服务实现权限相关功能。
Snapper权限集成包含三个部分

  • 集成权限微服务 该模块已包含在Snapper项目中,开箱即用,只需要添加依赖包及简单配置即可
  • 集成网关微服务 该模块已包含在Snapper项目中,开箱即用,只需要添加依赖包及简单配置即可
  • 集成业务微服务 是用户的业务模块,可以创建多个业务微服务,集成方式相同(通过SPI方式集成)

# 微服务说明

提示

每个微服务模块需要在pom.xml模块中配置启动类的完整路径,否则打包运行时会失败!

微服务项目集成请参考snam-boot (opens new window)项目,以下以snam-boot为例进行项目集成说明

该项目有如下几个模块

  • snam-authority 为授权模块,包含授权的核心功能,snapper已封装,开箱即用
  • snam-authority-api 为业务调用权限功能相关的feign(OPEN-FEIGN)依赖,项目采用SPI + FEIGN方式实时调用authority模块获取权限信息
  • snam-gateway 为网关模块,基于spring gateway,snapper已封装,包含授权拦截,转发等功能
  • snam-business 为业务微服务示例模块,主要用来说明如何集成权限功能

# 权限微服务

提示

属性配置中redis.username 如果是无用户模式,请填写default,默认用户名为default!

# 授权目录

目录结构

# 属性配置

属性配置

# 配置文件

配置文件

# 网关微服务

# 说明

所有请求都需要经过网关模块进行权限验证并路由转发,是必须的模块。
网关模块项目构建分如下几个步骤

  • 在main下创建JAVA目录,并且创建GatewayBootstrap启动类,具体配置参考网关项目配置
  • 在pom.xml中依赖snapper-gateway-starter, 在spring-boot-maven-plugin指明启动类的全路径
  • 在resource目录下的bootstrap.yml配置routes路由信息,根据具体项目进行自定义配置
  • 在env包中对应的环境配置文件中进行配置,主要包括端口配置、环境配置、路由的模块地址,如果是开发环境本地调试请参考env-dev.properties配置文件
  • 初始化Bean配置,请参考config目录下的snam-gateway-configuration,各filter介绍请参考网关层扩展点

# 过滤器扩展点

扩展点 扩展点说明 其中G1、G12、G13在bootstrap.yml中配置,G10为预留配置可以和G3共用一个配置,G14已集成到starter包中无需配置,如果不需要HMAC的权限认证,不需要初始化G7G8,具体可参考 SnamGatewayConfiguration 内容

# 网关目录

同权限微服务目录结构。

# 属性配置

属性配置

# 配置文件

配置文件

# 业务微服务

# 说明

业务模块为用户自定义的模块,项目中一般按照业务拆分创建多个自定义的业务模块,此处以一个为例(snam-business),项目相关配置需要注意以下几步

  • pom.xml中需要添加相关依赖,尤其是snam-authority-api的依赖,用于feign调用获取实时业务权限,其他依赖请参考snam-business中的pom.xml
  • 配置环境配置文件(snam-boot中pom.xml所制定的当前生效的环境配置),包括端口、数据源等
  • 添加启动类,在java源目录对应的包下创建Spring Boot启动文件,具体参考BusinessServerBootstrap
  • 添加mybatis-plus mapper扫描位置(在启动类中)及model位置(在respouces/bootstrap.yml中)
  • 实现SPI机制,创建spi包,创建服务类,实现BusinessAuthService接口,具体参考spi目录下DefaultSpiBusinessAuthService类

# 业务目录

提示

此处为建议目录,用户可以根据业务需求创建对应的目录!

目录结构

# 属性配置

属性配置

# 配置文件

配置文件

项目介绍
调试启动

← 项目介绍 调试启动→

Theme by Vdoing | Copyright © 2023-2025
Frog

鲁ICP备2023023334号-1

鲁公网安备 37021302001133号

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式