简单无token不能调用方法的处理

前提

调用登录接口后 生成token 根据token去调用方法,无token时无法调用
重点讲述无token时如何实现无法调用

加入一个全局配置


@Component   //  标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器中的一个Bean。
public class TokenFilter implements Filter {

    @Resource   // 自定义获取token的工具
    UserUtil userUtil;

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        HttpServletRequest request = (HttpServletRequest) servletRequest;

        String url = request.getRequestURI();
        // 自定义拿取token里面数据的方法 可使用自己写的获取token进行替换
        UserDto user = userUtil.getUser();

        // 写入不用token也可以进行访问的方法的url
        List<String> urlList = new ArrayList<>();
        urlList.add("/login");
        urlList.add("/aaa/info-list");

        //放行接口
        if(urlList.contains(url)){
            filterChain.doFilter(servletRequest, servletResponse);
        }
        else{
            if(null == user){
                ReturnResult.error("没有token");
            }
            else{
                filterChain.doFilter(servletRequest, servletResponse);
            }
        }

    }
}

衍生

1.token的安全性

在token不进行验证的情况下容易被伪造token进行访问
最简易的处理方式:

    
        else{
   			// 加入登录验证的方法进行验证
           // 例如: 该方法作用时验证是否能正常登录
          boolean b= login(user.name,user.password);
           if(b)
           {
            filterChain.doFilter(servletRequest, servletResponse);
           }else{
 				ReturnResult.error("该帐号不存在");
				}
               
            }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值