目录
1、在controller里面获取用户登录时的数据,进行判断
认证的核心代码在UserRealm类里面,而UserRealm类是从MyController类里面调用的
1、在controller里面获取用户登录时的数据,进行判断
在MyController里面写登录方法其中包括:
1.1、获得当前用户
1.2、封装用户登录数据
1.3、执行登录方法,如果没有异常就ok,进入index页面,有异常就添加提示信息,返回login页面
2、在index.html里面添加认证失败后的提示代码
3、在UserRealm里面做认证操作
从数据库中获取用户名,密码,然后通过MyController里的登录方法拿到的用户登录的数据(login.html里面输入的用户名,密码)与数据库中拿到的用户名,密码进行比对
4、结果
登录认证总结:
(1)首先在ShiroConfig里面配置了拦截器,设置登录请求,让没有登录的用户点击add和update链接之后不能进入页面,而是跳转到登录页面。要求用户先登录。
(2)后面就是在MyController里面写了登录方法,获取login页面中填写的用户名密码,执行登录的方法,用户名、密码正确就进入首页可以访问add和update页面。错误就在login页面提示用户名或密码错误。
(3)最后在UserRealm里面获取数据库中的用户名、密码,然后通过MyController里的登录方法拿到的用户登录的数据(login.html里面输入的用户名,密码)与数据库中拿到的用户名,密码进行判断。正确就ok,正常访问,不正确就提示错误。
(2)是接收页面输入的数据,写登录成功后跳转到首页以及用户名、密码错误后的异常提示信息并跳转到login页面(3)是获取数据库中数据,然后调用(2)中的方法与用户输入的用户名和密码进行比对。(2)和(3)是联合使用的,他们的类是有联系的
简单总结:1、在ShiroConfig里配置拦截器,让没登录的用户去login才能访问某些页面;2、在MyController里获取login页面中的用户名和密码执行登录方法;3、在UserRealm里面获取数据库中的用户名、密码,调用2,与2获得的用户输入的用户名、密码对比。