Security 登录认证 退出步骤

本文详细介绍了Spring Security的登录认证过程,包括创建实现接口的类以查询用户信息,密码加密存储,配置自定义认证逻辑,登录接口的实现,以及登录过滤器的定制。在退出登录时,通过SecurityContextHolder获取用户ID并从Redis删除,确保用户数据安全。测试过程中,验证了退出登录后,携带旧token访问将触发异常。
摘要由CSDN通过智能技术生成

登录认证

1,创建一个类实现UserDetailsService接口,重写其中的方法。更加用户名从数据库中查询用户信息

2,因为UserDetailsService方法的返回值是UserDetails类型,所以需要定义一个类,实现该接口,把用户信息封装在其中。

3,密码加密存储

默认使用的PasswordEncoder要求数据库中的密码格式为:{id}password 。它会根据id去判断密码的加密方式。但是我们一般不会采用这种方式。所以就需要替换PasswordEncoder

我们一般使用SpringSecurity为我们提供的BCryptPasswordEncoder

我们可以定义一个SpringSecurity的配置类,SpringSecurity要求这个配置类要继承WebSecurityConfigurerAdapter

4,登录接口

1,SecurityConfig重写configure(HttpSecurity http)方法,对登录接口放行允许匿名访问

2,登录业务层

  • ​ 在接口中我们通过AuthenticationManager的authenticate方法来进行用户认证,所以需要在SecurityConfig中配置把AuthenticationManager注入容器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值