之前介绍了security最快捷的一种登录方式,配置文件验证。将要登陆的用户、角色信息写在配置文件中,进行登录验证。但是在实际项目中,基本不会这么去使用,对于用户的认证信息是要从数据库中进行查找和验证。
这次要记录的就是通过自定义的用户查询逻辑,对用户进行认证
XML配置
首先要将之前的security:authentication-manager配置进行修改
同时还需要对之前的http配置中增加登录的页面、请求url等。对于登录页面的编写,就不在说明了,就是正常的页面渲染而已
编写验证类
对于用户验证类,我们要实现security中的UserDetailsService接口中的loadUserByUsername函数。来获取用户的信息
密码验证类,实现PasswordEncoder接口中的encode(加密)、matches(比对)函数
上述工作做完之后,再次访问我们的/demo/data/index路径,发现自动跳转到我们自定义的登录页面中
输入数据库中的用户名和密码,成功进入到页面中
springmvc + spring security的登录整合就完成了,对比之前我们自己写的登录验证、跳转的逻辑,省去了大把的时间。降低了工作量和难度