# spring-cloud-starter-kysession **Repository Path**: qingfengswing/spring-cloud-starter-kysession ## Basic Information - **Project Name**: spring-cloud-starter-kysession - **Description**: spring-cloud-starter-kysession 是一个基于Springcloud的轻量级的用户会话透传框架库,目的是为了解决网关和微服务, 微服务和微服务之间互相调用如何传递当前用户信息的通用性问题。框架库对接入系统无侵入性,使用简单,接入后通过开关注解开启功能。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-14 - **Last Updated**: 2024-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: 会话透传, springcloud会话保持, 网关会话透传, 微服务用户透传 ## README # spring-cloud-starter-kysession #### 介绍 spring-cloud-starter-kysession 是基于springcloud框架而开发的用户会话透传框架库,目的是为了解决微服务中网关和微服务, 微服务和微服务之间互相调用,如何传递当前用户信息的通用性问题。框架库对接入系统无侵入性,使用简单,接入后通过开关注解开启功能。 #### 流程图 ![流程图](https://gitee.com/qingfengswing/image/raw/master/gateway/session_2.png "调用流程") #### 使用教程(网关端) 1. 在网关服务中的pom.xml中引用包 ,配置如下: ``` ky.springcloud.session spring-cloud-starter-kysession 1.0-SNAPSHOT 2. 网关服务中实现自行 LoginAuthService接口,该接口是用来认证用户的 3. 网关中配置局部过滤器 LoginAuth,其中 enabled参数设置为1(开启用户身份认证) 4. 在启动类加上 @EnableKySession 开启会话透传注解 #### 使用教程(微服务端) 1. 同网关端配置第1步 2. 同网关端配置第4步 3. 在代码中通过 CurrentUser user = SessionUserHolder.getUser() 直接获取当期用户 #### 注意事项 1. 前端登录通过后,通过网关请求服务,请求头必须带上名字为 KY-TOKEN 的token值 2. 微服务中获取当期用户必须同一个线程,目前暂不支持异步线程 3. 因为本框架库目的是为了解决用户透传,并非解决用户认证,所以认证授权需要自行在网关服务实现,通过接口通知本框架库认证结果即可