当用户前台登录发起请求时:
1.从shiro中获取subject主体
SecurityUtils.getSubject();
2.判断当前用户是否认证过了,如果认证过了就放行了
subject.isAuthenticated()
3.如果没有认证过,就把前台传递的账号密码封装为一个UserNamePasswordToken对象,
new UsernamePasswordToken(username, password);
4.把UserNamePasswordToken对象传入,进行登录操作
subject.login(usernamepasswordtoken);
5.我们配置的安全管理器中实现了doGetAuthenticationInfo方法,从数据库查询用户数据,加密加盐后进行shiro的认证
6.如果认证成功,进行权限赋于。
7.根据配置shiro的真实过滤器跳转至登录成功页面或登录失败的页面。