本篇文章给大家带来的内容是关于spring-boot登陆过滤功能,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
先简单说一下我们工程的架构:前端工程是采用react,后端工程采用spring-cloud,里面分为zuul工程和其他功能模块。zuul工程除了提供后端的路由转发,还可以做全局的过滤器,所以我选择在这个工程里面写登陆校验功能。
这里使用redis存储session信息。
下载依赖,在pom.xml里面加入
1 2 3 4 5 6 7 8 |
|
配置session存储,在application.yml里面加入
1 2 3 4 5 6 7 8 9 |
|
session超时,在application.yml里面配置timeout貌似没有效果,我们在启动类里面加入超时配置注解
1 |
|
添加redis类配置,新建一个redisConfig类,然后写入
1 2 3 4 5 6 7 8 |
|
这里使用zuulFilter,实现了每个http请求都经过这个过滤器,然后通过session中是否存在用户名,判断session是否超时。如果超时就返回错误提示,前端再根据超时的http请求码进行跳转。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
这里还需要在启动类中注入这个类
1 2 3 4 |
|
主要就是把前端传来的用户名密码放到session中,并进行校验。如果校验成功,返回登陆成功,否则,返回登陆失败。前端再根据登陆情况做路由跳转。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
最后,贴一下启动类的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Atas ialah kandungan terperinci spring-boot的登陆过滤功能的实现代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!