在实际开发中,我们保存用户的密码在数据库中都是经过加密的,通常都是使用md5加密,这是为了安全起见,否则别人一进入数据库就能看到所有人的密码,这样太不安全了,spring security提供了密码加密的一个配置,这样我们在登录时,它会自动的将用户输入的密码和数据库里面的密码进行匹配,而用户是毫无感知的。
很简单,只需要加上这样的一条配置即可。
然后我们将数据库中也插入加密后的密码即可
UPDATE `user` SET PASSWORD='ee11cbb19052e40b07aac0ca060c23ee' WHERE id=2 ;
这样就可以实现对密码的加密了
再来谈一下如何查看登录用户的用户名。
有两种方式,
第一种:通过taglib标签来查看
1.引入maven依赖
org.springframework.securityspring-security-taglibs${spring.version}
2.在jsp页面中加上下面的代码
<%&#64; taglib prefix&#61;"sec" uri&#61;"http://www.springframework.org/security/tags" %>
username :
第二种:在程序中来查看
UserDetails userDetails&#61;(UserDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
这两种方式都可以来查看已登录用户的用户名。