小知识,大挑战!本文正在参与「程序员必备小知识」创作活动
本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金。
📖前言
1 | 复制代码心态好了,就没那么累了。心情好了,所见皆是明媚风景。 |
“一时解决不了的问题,那就利用这个契机,看清自己的局限性,对自己进行一场拨乱反正。”正如老话所说,一念放下,万般自在。如果你正被烦心事扰乱心神,不妨学会断舍离。断掉胡思乱想,社区垃圾情绪,离开负面能量。心态好了,就没那么累了。心情好了,所见皆是明媚风景。
🚓引入依赖
1 | xml复制代码<dependencies> |
1. 启动类添加
1 | java复制代码@EnableFeignClients |
2. 创建一个授权的配置文件 AuthorizationServerConfig.java
根据官方指示我们需要创建一个配置类去实现
AuthorizationServerConfigurer
所以我们,创建一个类去继承它的实现类AuthorizationServerConfigurerAdapter
,具体代码如下:
1 | java复制代码package com.cyj.dream.auth.config; |
3. 由于授权服务器本身也是资源服务器,所以也创建一个资源配置,代码如下
1 | java复制代码package com.cyj.dream.auth.config; |
4. 创建 webSecurity
配置
1 | tex复制代码/* |
代码如下:
1 | java复制代码package com.cyj.dream.auth.config; |
5. 创建一个 controller
进行访问测试
1 | java复制代码package com.cyj.dream.auth.controller; |
带
token
的请求
不带
token
的请求
带
token
,但是没有ROLE_ADMIN
权限
6. 最后关于Fegin
调用服务 Token
丢失的问题
在微服务中我们经常会使用RestTemplate或Fegin来进行服务之间的调用,在这里就会出现一个问题,我们去调用别的服务的时候就会出现token丢失的情况,导致我们没有权限去访问。
所以我们需要加上一些拦截器将我们的 token
带走,针对fegin
的配置代码如下:
1 | java复制代码public class FeignRequestInterceptor implements RequestInterceptor { |
然后将这个拦截器加入到我们 fegin
请求拦截器中:
1 | java复制代码@Configuration |
7. Spring Security
和 Shiro
相同点:
1:认证功能
2:授权功能
3:加密功能
4:会话管理
5:缓存支持
6:rememberMe功能…….
不同点:
优点:
1:Spring Security基于Spring开发,项目中如果使用Spring作为基础,配合Spring Security做权限更加方便,而Shiro需要和Spring进行整合开发
2:Spring Security功能比Shiro更加丰富些,例如安全防护
3:Spring Security社区资源比Shiro丰富
缺点:
1:Shiro的配置和使用比较简单,Spring Security上手复杂
2:Shiro依赖性低,不需要任何框架和容器,可以独立运行,而Spring Security依赖于Spring容器
8. 数据库表
1 | sql复制代码-- used in tests that use HSQL |
最后感谢大家耐心观看完毕,具体请求和一些结果返回可以参见上一章内容,留个点赞收藏是您对我最大的鼓励!
🎉总结:
- 更多参考精彩博文请看这里:《陈永佳的博客》
- 整合
auth
这里有一些类我没有放置,大家可以先阅读文章,后续我会把代码传到git
上方便大家参考学习~ - 喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
本文转载自: 掘金