Skip to content

一个简洁而易于使用的sso分布式权限框架,方便项目快速上手。jwt权限认证,redis缓存,nacos注册中心。

Notifications You must be signed in to change notification settings

yichuancq/summer-security-sso

Repository files navigation

summer-security-sso

一个简洁而易于使用的sso权限框架,方便项目快速上手。jwt权限认证,redis缓存,nacos注册中心。

系统模块

模块名称 功能 备注
summer-gateway-server 网关服务 网关实现权限认证,流量监控等
summer-oath-server 后端权限服务 后端权限服务
summer-common 公共类 公共类
summer-admin-server spring admin管理 方便运行参数查看
summer-resource-server 资源服务 文件上传、下载
summer-seller-server 销售服务 功能子模块
summer-bill-server 订单服务 功能子模块
summer-log 日志切面 自定义注解日志记录

Spring Boot 父依赖

<!-- Spring Boot 启动父依赖 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.6.6</version>
    <relativePath/>
</parent>

knife4j swagger 升级版接口文档

https://doc.xiaominfo.com/

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>

hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本

https://gitee.com/dromara/hutool

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.3</version>
</dependency>

post 请求示例

curl -X POST -H  "Accept:*/*" -H  "Content-Type:application/json" -d "{\"id\":\"12\",\"name\":\"2342324\"}" "http://localhost:9001/api/seller/save"

请求响应

{
  "code": 200,
  "message": "请求成功!",
  "data": {
    "id": "12",
    "name": "2342324"
  },
  "resultMap": {}
}

knife4j api url

http://localhost:9001/doc.html#/home

自定义日志注解,@Aspect 自定义切面

@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SystemLog {
    String value() default "";

}

controller使用日志

/**
 * save
 * @param requestParams
 * @return
 */
@SystemLog(value = "save")
@PostMapping(value = "save")
public ResultData<?> save(@RequestBody RequestParams requestParams){
        log.info("test->requestParams:{}",requestParams);
        return new ResultData<>(ResultCode.SUCCESS,requestParams);
        }

登录获取token

GET请求参数

curl -X GET -H  "Accept:*/*" -H  "Content-Type:application/x-www-form-urlencoded" "http://localhost:9010/admin/login?passWord=admin&userName=admin"

返回值

{
  "code": 200,
  "message": "请求成功!",
  "data": {
    "userId": 1,
    "userName": "admin",
    "token": "Bearer eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIxIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2NTg0NjI2MTUsImlzcyI6InN1bW1lciIsImV4cCI6MTY1ODU0OTAxNSwiYXV0aG9yaXRpZXMiOiJbe1wiYXV0aG9yaXR5XCI6XCJST0xFX0FETUlOXCJ9XSJ9.MRpawWEftLZ0w97-FOCRDcsIX_7ySVGMRtUh-D0tgNkJdyEG7zEVQBsMF2tXFDRGhNtpqQZRifa2fT7rgSKEXg"
  },
  "resultMap": {}
}

About

一个简洁而易于使用的sso分布式权限框架,方便项目快速上手。jwt权限认证,redis缓存,nacos注册中心。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages