boot+security+jwt(最简单的方式,仅仅让你会用)

-------前提------当你所有的依赖都导入好了以后---------

---------------------------------认证(仅仅测试,使用你自己的账号密码)--------后面会总结---------------------

1.自己写一个serviceimpl(随便起名)

2.实现UserDetailsService(包名import org.springframework.security.core.userdetails.UserDetailsService;)

3.实现里面的loadUserByUsername方法,返回值是你自己写的类(在第四步)

3.1.在loadUserByUsername方法里面根据账号(这个方法上面的形参就是你的账号)查询出你的用户对象(等会第10步骤需要用)

4.创建一个实体类MyUserDetails(随便起名)

5.实现UserDetails这个接口

6.重写里面的所有方法

7.除了这三个方法getAuthorities,getPassword,getUsername,其余返回值是boolean的方法,全部修改成返回true
8.把你的用户类放到你上面写的那个实体类里,(prive---记得类上加注解@Date)

9.把getPassword,getUsername返回值改成你的真实账号密码

10.在第一步里面返回你第四步创建的这个类---return new MyUserDetails(第3.1步返回的对象);
11.接下来你就可以进行测试了,(注意默认情况下你在数据库存储的密码前面必须添加{noop},比如你的密码是123,你在数据库存储的时候就必须是{noop}123)---如果不想这样搞,也就是在生产环境中------请看第12-17步。

12.再写一个类SecurityConfig(随便起名)

13.继承WebSecurityConfigurerAdapter这个类

14.写一个方法,返回值是BCryptPasswordEncoder这个类,return new BCryptPasswordEncoder();就可以。

15.让SecurityConfig这个类被Spring管理(也就是在类上加注解@Configuration)

16.让这个方法被Spring管理(也就是在这个方法上加注解@Bean)

17.这个密码存储的时候你就不能写123或者{noop}123了,你需要用测试类生成一个,生成方法是请看18-19步

18.在测试类里面,先注入你的SecurityConfig(你第12步创建的那个类)

19.注入以后拿,(你第12步创建的那个类).(你第14步创建的那个方法).encode(这里面是你的密码原文),返回值就是加密过的密码,然后把加密后的密码存到数据库就行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值