场景是
我实现了用户在跳转页面如果不经过验证,不能跳转到界面里,那么一般情况下,所有的用户在跳转时都要经过认证,所以就要实现用户认证。如果要查看跳转页面的拦截,请查看:https://blog.csdn.net/dsl59741/article/details/106419699
用户认证
用户认证的话,需要增加一个登陆页,用来获取用户的用户名和密码,用户认证分两种结果,认证成功和认证失败,认证成功跳转界面,认证失败包括用户不存在和用户存在但是密码错误,还有一般就是会加入用户登录次数限制,有一种用户超过登陆次数用户被锁定的情况,我这里没做。
shiro配置类------和上篇博客一样,没变
package com.kuang.config;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.spring.web.ShiroFilterFactoryBean;
import org.apache.shiro.web.mgt.DefaultWebSecurityManager;
import org.apache.shiro.web.servlet.ShiroFilter;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.LinkedHashMap;
@Configuration
public class ShiroConfig {
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(@Qualifier("defaultWebSecurityManager") DefaultSecurityManager securityManager){
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
//设置安全管理器
shiroFilterFactoryBean.setSecurityManager(securityManager);
//实现登录验证,添加shiro内置过滤器
LinkedHashMap<String, String> filterMap = new LinkedHashMap<>();
filterMap.put("/user/add","authc");//要跳转到add页面的用户必须经过访问
shiroFilterFactoryBean.set