传统的登陆验证:在业务控制层写一个action,然后向后台传递在前台输入的用户信息,并且在后台进行相应的用户验证即可。
这样不安全并且在用户和角色多的时候,写controller非常的麻烦,耦合也非常强。
用户注册时加密问题
如果你不清楚什么叫加盐可以忽略散列的过程,只要明白存储在数据库中的密码是根据户注册时填写的密码所产生的一个新字符串就可以了。经过散列后的密码替换用户注册时的密码,然后将User保存进数据库。剩下的工作就丢给UserService来处理。
那么这样就带来了一个新问题,既然散列算法是无法复原的,当用户登录的时候使用当初注册时的密码,我们又应该如何判断?答案就是需要对用户密码再次以相同的算法散列运算一次,再同数据库中保存的字符串比较。
数据库中保存的是用户名和散列码,假如散列码被拦截也是没事的,因为进行散列的过程是在程序中,传递数据之后。
配置步骤:先配置web.xml。
配置目的为了将Shiro配置文件交给spring监听器初始化,再配置shiro过滤器。
再配置spring-shiro-web.xml。
配置缓存、凭证匹配器、realm、securitymanage、shiro的Web过滤器