项目话术最终版

本文详细介绍了SSO登录的实现步骤,包括采用Spring Security、JWT令牌和OAuth2的方案。同时探讨了会话技术session和cookie的原理与区别,以及如何将数据放入Session中。此外,还讨论了Nginx反向代理服务器的工作原理和最佳用途,以及Linux操作系统的基础命令。
摘要由CSDN通过智能技术生成


 

说一下SSO登陆的流程/单点登录的实现步骤:

单点登录概念:

sso是指在多个系统中,用户只需登录一次就可以访问所有相互信任的系统

我使用的方案是:

spring security(sei q rui ti)+jwt令牌+oauth2(哦 奥 司)的单点登陆方案,通过引入spring-cloud-starter-oauth2这个依赖引入所需要的这些技术

具体操作:

一、我们可以先写一个基础服务用于用户登录 基于用户名获取用户信息 

二、相比于单系统登录,除了提供 用户信息、日志信息等基础数据 的基础工程,还需要一个独立的认证中心服务,对用户身份进行认证和授权

三、在认证中心服务中
 封装从数据库查询到的用户信息,并基于feign方式 远程调用用户信息:定义用户远程调用的Feign接口,基于此接口调用基础服务中的用户信息。

因为这里使用的是SpringSecurity,在它的执行链当中,有一个UserDetailsService接口,这个接口负责从数据库查询到的的用户信息和用户端提交的信息进行比对,所以要写一个UserDetailsService接口的实现类,然后在这个实现类中基于Feign接口进行远程服务调用;之后由AuthenticationManger(认证管理器)调用UserDetailsService的实现类来完成认证管理功能

权限控制:

这个时候因为用户提交的密码是明文的,而数据库中存储的密码是加密的,所以还需要写一个配置类继承WebSecurityConfigurerAdpater这个类 并重写configure方法: 来构建密码加密对象,这里使用的是BCryptPasswordEncoder,其中内置了一种不可逆的密码加密算法,相对于md5方式会更加安全+禁用跨域攻击,假如没有禁用,使用postman,httpclient这些工具登录失败403+配置认证成功和失败处理器

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值