spring 的j_security_check登陆验证有没有人熟悉的?进来帮帮忙
系统是使用spring 的j_security_check进行登陆验证的,
求助以下几个问题:
1 这个验证过程是怎么样的?
2 密码校验是在哪里做的?
3 现在系统是基于数据库的,若用户和密码是通过接口从其他系统获取,该怎么和这个机制结合呢?
请熟悉该机制的朋友帮忙解答,不胜感激!
------解决方案--------------------
1、SpringSecurity关注的其实就是那个UserDetails对象,所以,在loadUserByUsername(String username)方法中,你总归要返回一个该对象给框架,UserDetails是个接口,里面定义了getUsername(),getPassword(),isEnabled()等等方法,框架就是根据这些方法的返回值来判断用户是否被禁用、密码是否过期等等。
2、密码校验是框架自己做的,简单的说,就是根据登录时输入的用户名,查出用户,再比对登录时输入的密码和getPassword()是否相同。
3、在loadUserByUsername(String username)中取得用户,再封装或者转换为UserDetails返回给框架