SpringSecurity注意点

Q1:如何使用SpringSecurity?

A1:定义一个config类,调用@EnableWebSecurity注解

Q2:密码设置以及加密

A2:SpringSecurity强制性要求必须使用密码加密器(PasswordEncoder),如果不利用加密方式会导致 There is no PasswordEncoder mapped for the id "null" 异常

Spring Security 内置的 Password Encoder 有:

加密算法名称PasswordEncoder
NOOPNoOpPasswordEncoder.getInstance()
SHA256new StandardPasswordEncoder()
BCRYPT(官方推荐)new BCryptPasswordEncoder()
LDAPnew LdapShaPasswordEncoder()
PBKDF2new Pbkdf2PasswordEncoder()
SCRYPTnew SCryptPasswordEncoder()
MD4new Md4PasswordEncoder()
MD5new MessageDigestPasswordEncoder("MD5")
SHA_1new MessageDigestPasswordEncoder("SHA-1")
SHA_256new MessageDigestPasswordEncoder("SHA-256")

另外,加密后的密码需要注入进IOC容器中,否则也会报错

Q3:从数据库拿用户信息进行验证

A3:利用UserDetails类,接受和验证前台输入信息和后台数据库信息,接受信息利用UserDetails中的User类,User类的结构为(用户名(String),密码(加密),权限)

其中,权限使用 AuthorityUtils.commaSeparatedStringToAuthorityList 接收解析,如果没有此用户可以抛出一个UsernameNotFoundException(自定义的错误信息)的异常

Q4:如何进行用户权限判断

A4:建立三张表,即用户表、用户-权限表、权限表

Q5:如何将数组和集合内的元素拼接成字符串?

A5:什么年代的还在用传统循环拼接?利用String.join()方法即可,其中String.join()括号中前面写每个元素的分割符号,随后写的是要拼接的集合或数组,这两个变量要用逗号隔开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值