login方法访问不到解决过程

背景:由于项目登录模块之前使用传统的字符验证码,干扰又太严重,经常会有输入十次以上才能蒙对的情况。于是提出让改为滑动验证码(斗鱼,B站等等)。如图所示:

原有的:

login方法访问不到解决过程

要改的:

login方法访问不到解决过程

这个实现都可以查的到,就不放源码了。接下来开始正题,说一下遇到的问题:

1,项目中使用到了shiro来做验证,这里有个返回前台图片的接口,需要在shiro的配置中添加上对应的url,

<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager">
        <property name="unauthorizedUrl" value="/error.jsp">
        <property name="filters">
            <util:map>
                <entry key="shiroAuth" value-ref="shiroAuthFilter">
            </entry></util:map>
        </property>
        <property name="filterChainDefinitions">
            <value>
                /index.html = anon
                /user/login = anon
                // &#x65B0;&#x589E;&#xFF0C;&#x83B7;&#x53D6;&#x5927;&#x5C0F;&#x56FE;&#x63A5;&#x53E3;
                /user/getVerifyImage = anon
                // &#x65B0;&#x589E;&#xFF0C;&#x6ED1;&#x52A8;&#x9A8C;&#x8BC1;&#x63A5;&#x53E3;
                /user/verifyPath = anon
                /user/logout = logout
                /** = shiroAuth
            </value>
        </property>
    </property></property></bean>

添加上之后,前台在没有登录的情况下,可以拿到图片。

2,该改的地方都改了,别的接口都可以访问,唯独login接口访问是200,却只返回captchaError(验证码错误!)。问题是这边的滑动验证码是验证成功的,老的验证码前台又没有调用那个接口,怎么会报这个错误,百思不得其解。恰跟烟,冷静了一下后。开始捋登录的流程,经过了拦截器,过滤器,问题应该在这里。然后开始找项目中的拦截器和过滤器,最终在web.xml中找到了这样的代码:

  <filter>
    <filter-name>jcaptchaFilter</filter-name>
    <filter-class>com.filter.JcaptchaFilter</filter-class>
    <init-param>
      <param-name>jcaptchaParamName</param-name>
      <param-value>captcha</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>jcaptchaFilter</filter-name>
    <url-pattern>/user/login</url-pattern>
  </filter-mapping>

点进去之后是这样的:

login方法访问不到解决过程

注释掉之后,成功了。

Original: https://www.cnblogs.com/chujian007/p/16312091.html
Author: 初见洞洞拐
Title: login方法访问不到解决过程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599214/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Vue3提高效率小技巧

    问题1:Vue3使用了setup API,无法访问到this,虽然提供了getCurrentInstance API,但访问全局变量时感觉比Vue2使用方式更繁琐了,因此想了个捷径…

    数据库 2023年6月11日
    085
  • 01-MySQL主从复制

    问题导入 在之前项目的基础功能实现中,后台管理和移动端在进行数据访问的时候,都是直接操作数据库MySQL。此时的系统有且仅有一台MySQL服务器,则可能会出现如下问题 ①、读和写所…

    数据库 2023年5月24日
    067
  • DRF补充数据库异常和Redis异常

    DRF补充数据库异常和Redis异常 (1)在项目适当位置新建exceptions.py,内容如下: from rest_framework.views import except…

    数据库 2023年6月14日
    059
  • 创新能力加速产业发展,SphereEx 荣获“中关村银行杯”『大数据与云计算』领域 TOP1

    8 月 9 日下午,2022 中关村国际前沿科技创新大赛”中关村银行杯”大数据与云计算领域决赛在北京市门头沟区中关村(京西)人工智能科技园·智能文创园落下了…

    数据库 2023年6月16日
    082
  • 【数据结构】跳表

    一、基本概念 1.1 定义 跳表(SkipList):增加了向前指针的链表叫做指针。跳表全称叫做跳跃表,简称跳表。跳表是一个随机化的数据结构,实质是一种可以进行二分查找的有序链表。…

    数据库 2023年6月11日
    080
  • AutoMySQLBackup 3.0的一个小Bug

    $ more daily_kkkk_2021-09-22_16h47m_Wednesday.sql — MySQL dump 10.13 Distrib 5.7.34, for …

    数据库 2023年5月24日
    058
  • JavaWeb核心篇(7)——VUE和Element

    VUE&Element 今日目标: 能够使用VUE中常用指令和插值表达式 能够使用VUE生命周期函数 mounted 能够进行简单的 Element 页面修改 能够完成查询…

    数据库 2023年6月14日
    080
  • Ajax请求下载文件的解决方案

    写这个博客之前我并不清楚 ajax请求是下载不了文件的 😅 这段时间在写一个自己的项目,用到了ajax下载文件,请求到了controller层并返回文件下载成功 但是浏览器就是没有…

    数据库 2023年6月9日
    0241
  • Lambda表达式

    1.常见单方法接口 Comparator Runnable Callable @FunctionalInterface 只定义了单方法的接口称之为 FunctionalInterf…

    数据库 2023年6月16日
    086
  • Cobar提出的一种在分库场景下对Order By / Limit 的优化

    搜索关注微信公众号”捉虫大师”,后端技术分享,架构设计、性能优化、源码阅读、问题排查、踩坑实践。本文已收录 https://github.com/lkxia…

    数据库 2023年5月24日
    0107
  • POI操作EXCEL对象

    POI操作EXCEL对象HSSF:操作Excel 97(.xls)格式XSSF:操作Excel 2007 OOXML (.xlsx)格式,操作EXCEL内存占用高于HSSFSXSS…

    数据库 2023年6月16日
    074
  • LeetCode 9. 回文数

    题目 题目链接:https://leetcode.cn/problems/palindrome-number/ 给你一个整数x,如果x是一个回文整数,返回true;否则,返回fal…

    数据库 2023年6月11日
    089
  • Redis-缓存和数据库一致性问题

    三种策略 Cache Aside 只读缓存模式,即读操作命中缓存直接返回,未命中从后端数据库加载到缓存再返回。写操作直接更新数据库,并删除缓存。👍一切以后端数据库为准,最常用的方式…

    数据库 2023年6月11日
    076
  • JDBC

    JDBC 一、JDBC概述 什么是JDBC? JDBC 是使用 Java 语言操作关系型数据库的一套 API。这套 API 是交由不同的数据库厂商实现的。我们利用 JDBC 编写操…

    数据库 2023年6月14日
    099
  • SpringBoot操作Oracle

    /* Navicat Premium Data Transfer Source Server : 本地Oracle Source Server Type : Oracle Sour…

    数据库 2023年6月14日
    093
  • tomcat服务的原理和使用

    一、tomcat与服务器的关系 服务器是指安装了服务器软件的计算机,而服务器软件是指接收用户请求,处理请求,返回请求结果的程序,常见的服务器软件有tomcat、iis等,也称为we…

    数据库 2023年6月14日
    0110
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球