# springcloud1 **Repository Path**: heaven022/springcloud1 ## Basic Information - **Project Name**: springcloud1 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 作业说明 附件:包含下列文件 nginx.conf:nginx配置 static.zip:前端页面及css等静态资源 Springcloud.sql:数据库为springcloud,该文件为创建sql,在作业提供表的基础上新增了 lagou_user_info 存储用户注册信息 lagou-service-dev.yml:配置中心将要使用的配置文件(码云地址:https://gitee.com/heaven022/lagou-spring-cloud-config.git ), 提供了 数据源、eureka客户端、feign、management暴露接口的通用配置 通过config端点提供了各个服务的自定义配置 附加设置:修改hosts,在其中增加 127.0.0.1 LagouCloudEurekaServerA 127.0.0.1 LagouCloudEurekaServerB docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management 功能说明 注册新账号 一分钟只允许获取一次验证码:仅通过前端控制 发邮件功能:code微服务调用email微服务发邮件,发送配置和发送内容从配置中心获取 表单验证:会调用微服务验证邮箱有效性和验证码有效性 校验验证码:在前端会调用校验api进行校验 保存令牌至数据库 令牌保存cookie中:网关通过AuthorizeCookiePorcessFilter过滤器实现将令牌保存在cookie中 跳转到欢迎页面:注册成功,前端跳转至welcome.html 登录: 令牌保存cookie中:网关通过AuthorizeCookiePorcessFilter过滤器实现将令牌保存在cookie中 表单验证:登录失败,显示对应信息 跳转到欢迎页面:登录成功,前端跳转至welcome.html 欢迎页面: 顶部显示欢迎信息:通过调用接口 /user/info ,网关自动获取令牌,将请求转发到 /user/info/{token} 显示验证码列表:调用一个额外的微服务,展示除用户微服务和验证码微服务之外的微服务都需要进行 统一用户验证(token的验证) 注销:清除cookie中的令牌 网关拦截: 令牌添加/过期过滤器: 下游微服务在响应头设置auth字段,过滤器通过auth响应头是否为空更新/删除cookie中的令牌 自动获取令牌过滤器: 某些微服务需要令牌信息,过滤器从cookie中读取,然后拼接在请求路径后面,转发到相应的微 服务(如:前端请求 /user/info,获取已经登录的用户的邮箱) 统一认证过滤器: 网关在转发请求之前,会调用令牌验证微服务,成功则转发请求,失败返回401 IP防爆刷过滤器: 在1分钟内访问指定的微服务(/user/register)超过20次时返回303错误,对应配置在配置中心 中配置 备注:配置中心登录和邮箱配置,在运行工程时应根据实际配置进行更改