项目结构说明及流程分析
首先服务注册中心注册一个客户和两个登陆服务,登陆服务端里放的是shiro登陆认证和数据库读取的实现代码,客户端里放的是一些静态资源、静态页面和Feign接口。
客户端点击登陆后,客户端借Feign接口带着用户名密码去负载均衡访问服务端(Feign自带负载均衡),服务端将收到的用户名密码做Shiro认证,认证结束后返回一个json字符串给客户端,客户端解析收到的json字符串,把其中的用户名保存到Session中,完成登陆。
架构图

前期部署
客户端
- 项目结构

- 相关依赖
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
- 配置文件
server:
port: 80
spring:
application:
name: feign-customer-1
cloud:
nacos:
discovery:
server-addr: localhost:8848
thymeleaf:
cache: false #禁用缓存Ctrl+F9
prefix: classpath:/templates/

本文详细介绍了如何利用SpringCloud Nacos作为服务注册中心,结合Feign进行客户端调用,以及Shiro进行登录认证。在服务端,通过Shiro处理用户名密码验证,并返回json数据。客户端解析数据并将用户名存入Session,完成登录流程。项目包括客户端和服务器端的结构、配置、依赖和代码编写,并进行了测试。

2151

被折叠的 条评论
为什么被折叠?



