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)

大家都在看

  • IPFS 集群部署

    IPFS 和 IPFS-Cluster 默认的端⼝:IPFS: 4001 – 与其他节点通信端⼝ 5001 – API server 8080 – Gateway server I…

    数据库 2023年6月9日
    075
  • ASP.NET CORE WEB项目介绍

    首先创建一个asp.net core web应用程序 第二步 目前官方预置了7种模板项目供我们选择。从中我们可以看出,既有我们熟悉的MVC、WebAPI,又新添加了Razor Pa…

    数据库 2023年6月14日
    087
  • 【JDBC】笔记(1)— JDBC概述

    1、JDBC是什么?Java DataBase Connectivity(Java语言连接数据库) 2、JDBC的本质是什么?JDBC是SUN公司制定的一套 接口(实质)java….

    数据库 2023年5月24日
    083
  • SpringMvc(四)- 下载,上传,拦截器

    1、图片下载 图片下载:将服务器端的文件以流的形式写到客户端,通过浏览器保存到本地,实现下载; 1.1 图片下载步骤 1.通过session获取上下文对象(session.getS…

    数据库 2023年6月16日
    054
  • 分析了2020年3万多条的微博热搜,我看到了什么

    前言 2020年是艰难的一年,但即使再难,也都过去了。 分析一下2020年的新闻热搜,可以大致了解网民都在关注什么。 微博热搜以娱乐为主,头条的热搜更偏向民生与时事。今天,我们先分…

    数据库 2023年6月16日
    091
  • 记一次血淋淋的MySQL崩溃修复案例

    摘要:今天给大家带来一篇MySQL数据库崩溃的修复案例 问题描述 研究MySQL源代码,调试并压测MySQL源代码时,MySQL崩溃了!问题是它竟然崩溃了!而且还损坏了InnoDB…

    数据库 2023年5月24日
    0102
  • 素数算法(Prime Num Algorithm)

    数学是科学的皇后,而素数可以说是数学最为核心的概念之一。围绕素数产生了很多伟大的故事,最为著名莫过于哥德巴赫猜想、素数定理和黎曼猜想(有趣的是,自牛顿以来的三个最伟大数学家,欧拉、…

    数据库 2023年6月14日
    0135
  • MySQL知识点大全!!

    使用PreStatement对象: public int execUpdate(String sql, Object[] parms) { int count = 0; try {…

    数据库 2023年5月24日
    074
  • MySQL日期时间函数一网打尽

    获取时间 函数 功能 返回格式 CURDATE(), CURRENT_DATE() 返回当前日期,只包含年、月、日 2022-03-08 CURTIME(), CURRENT_TI…

    数据库 2023年6月9日
    057
  • Nginx 静态资源、跨域、Rewrite

    Nginx服务器基础配置实例 前面我们已经对Nginx服务器默认配置文件的结构和涉及的基本指令做了详细的阐述。通过这些指令的合理配置,我们就可以让一台Nginx服务器正常工作,并且…

    数据库 2023年6月6日
    0128
  • Pisa-Proxy SQL 解析之 Lex & Yacc

    一、前言 1.1 作者介绍 王波,SphereEx MeshLab 研发工程师,目前专注于 Database Mesh,Cloud Native 的研发。Linux,llvm,ya…

    数据库 2023年6月16日
    098
  • 关于互联网通信流程–架构–资源文件等

    互联网通信流程: 客户端 ——–服务端 &#x4E92;&#x8054;&#x7F51;&#x901A;&amp…

    数据库 2023年6月11日
    076
  • Linux 常用命令

    Linux 常用命令 free -h:查看服务器下内存 df -lh:查看磁盘空间 du -sh *:查看文件夹下文件占用多少空间 uname -a:查看系统版本 which ja…

    数据库 2023年6月6日
    075
  • list对象中的数据如何去重呢?

    下文笔者讲述list对象的去重方法分享,list的实现类是我们存储数据的容器, 当里面存储的对象存在重复值时,我们该如何对其进行去重操作呢? 下文笔者将一一道来,首先我们需了解对象…

    数据库 2023年6月11日
    084
  • phpstrom以及webstrom等jetbrains全家桶激活方法

    因为最近重新安装了phpstrom,所以在网上找了许多激活方式,各种激活码和加公众号都试过了,没有一个能用的,直到我找到了以下的方式,亲测可用: 原理是我们通过代码搜索其他授权服务…

    数据库 2023年6月14日
    0135
  • Python–模块Module

    1、定义模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件,(文件名:test.py,对应的模块名test)包:用来…

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