今天在用shiro做权限认证的时候  出了一个小问题, 也是因为我对shiro不熟悉导致的.

关于shiro 认证数据的小问题 (开发问题总结)

 在用 UsernamePasswordToken方法认证用户数据时, 因为要传入用户名和密码进行认证.

下面是我自定义的Realm ,通过用户名去数据库查出数据,判断是否存在,但是明明已经查出来了,按流程 用户存在则认证成功,  但是我的业务层却走了异常,找了很久也没找到.

关于shiro 认证数据的小问题 (开发问题总结)

 后来才数据库中存入的密码 是mad5加密后的密码  而我传入则是加密前的密码,    我以前一直以为,只要realm查出数据后就算认证成功,  但是摸索了半天才发现,原来shiro自动给我们判断了username 和password ,所以你进行认证的密码和Realm根据用户名查出的密码必须一致才算认证成功. 

所以在UsernamePasswordToken()方法传入的password  MD5加密一下就行了.

相关文章: