SpringBoot项目访问任意接口出现401错误的解决方案
之前搭建了一个SpringBoot项目用于测试集成Redis和MyBatis以及Freemarker,搭建完成测通之后就没有再打开过。今天打开之后想要测试一个问题,发现在这个项目下无论请求哪个接口,浏览器都会跳转到一个登录页面,而且这个页面不是我写的,如下图:
地址栏里的login也是在我输入了自己的接口之后,自动跳转到了login 于是用Postman测试,得到401响应:
当时一脸蒙蔽,心想我代码里面没有写拦截器啊,而且拦截之后的页面也不是我写的。刚开始认为可能和端口有关,后来发现不是。于是想着很有可能是SpringBoot自己默认的拦截。网上找了各种资料,果然,发现项目的pom.xml中多了spring-boot-starter-security的jar包,去掉这个jar包就好了。
后来,为了确定一下是不是这个jar包的影响,我在另一个SpringBoot的pom中加入了这个jar,果然这个问题复现了。
关于spring-boot-starter-secruity的内容,我们后面详细讨论。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
SpringBoot实战之SSL配置详解
1.SSL介绍和说明 SSL的配置也是我们在实际应用中经常遇到的场景 SSL(Secure Sockets Layer,安全套接层)是为网络通信提供安全及数据完整性的一种协议,SSL在网络传输层对网络连接进行加密.SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持.SSL协议可以分为两层:SSL记录协议(SSL Record Protocal),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装.压缩.加密等基础功能的支持.SSL握手协议(SSL Handsh
-
SpringBoot中关于static和templates的注意事项以及webjars的配置
1. 默认情况下, 网页存放于static目录下, 默认的"/"指向的是~/resouces/static/index.html文 2. 如果引入了thymeleaf, 则默认指向的地址为~/resouces/templates/index.html <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymel
-
SpringBoot使用编程方式配置DataSource的方法
Spring Boot使用固定算法来扫描和配置DataSource.这使我们可以在默认情况下轻松获得完全配置的DataSource实现. Spring Boot还会按顺序快速的自动配置连接池(HikariCP, Apache Tomcat或Commons DBCP),具体取决于路径中的哪些类. 虽然Spring Boot的DataSource自动配置在大多数情况下运行良好,但有时我们需要更高级别的控制,因此我们必须设置自己的DataSource实现,因此忽略自动配置过程. Maven依赖 总体而
-
配置SpringBoot方便的切换jar和war的方法示例
网上关于如何切换,其实说的很明确,本文主要通过profile进行快速切换已实现在不同场合下,用不同的打包方式. jar到war修改步骤 pom文件修改 packaging配置由jar改为war 排除tomcat等容器的依赖 配置web.xml或者无web.xml打包处理 入口类修改 添加ServletInitializer 特别注意:当改成war包的时候,application.properties配置的server.port和server.servlet.context-path就无效了,遵从
-
SpringBoot个性化配置的方法步骤
在上一篇中我们简单的介绍了SpringBoot项目的创建及其启动方式.在这一篇中我们主要介绍一下SpringBoot项目的个性化配置.因为通过上一篇中知识我们知道SpringBoot项目的默认端口为8080,那如果我要修改这个默认端口,应该怎么改呢?又比如SpringBoot项目在启动时,默认是没有项目名字的,那如果我们想要添加自己喜欢的项目名字又该怎么办呢?这些都在这一篇的内容中.好了,下面我们详细介绍一下怎么修改SpringBoot项目中的默认配置. 修改默认端口 在上一篇的SpringBo
-
SpringBoot之Java配置的实现
Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式. Java配置是通过@Configuation和@Bean来实现的: 1.@Configuation注解,说明此类是配置类,相当于Spring的XML方式 2.@Bean注解,注解在方法上,当前方法返回的是一个Bean eg: 此类没有使用@Service等注解方式 package com.wisely.heighlight_spring4.ch1.javaconfig; publ
-
SpringBoot AOP使用笔记
1. 启用AOP a. 在类上添加@Aspect注解 b. 注入该类, 可以使用@Component进行注入到Spring容器中 2. 通过PointCut对象创建切入点 a. 在某个方法使用类似下面的方法进行注入 @Pointcut("execution(* com.sguess.service.IAOPService.*(..))") private void pointcut() { } i. 其中,execution表达式为 execution(modifiers-patter
-
在SpringBoot中通过jasypt进行加密解密的方法
1.用途 在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥. 2.使用: 2.1通过UT创建工具类,并认识jasypt import org.jasypt.util.text.BasicTextEncryptor; import org.junit.Test; public class UtilTests { @Test public void jasyptTest() { BasicTextEncryptor encryptor = new Basi
-
SpringBoot项目集成日志的实现方法
SpringBoot使用Commons Logging进行所有内部日志记录,但保留底层日志实现.默认提供了Java Util Logging, Log4j2 和Logback日志配置.在每种情况下,都预先配置为使用控制台输出,并且还提供了可选的文件输出.(来自官网) 日志格式 SpringBoot默认的日志输出如下所示: 2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine :
-
SpringBoot下使用定时任务的方式全揭秘(6种)
本文旨在用通俗的语言讲述枯燥的知识 定时任务作为一种系统调度工具,在一些需要有定时作业的系统中应用广泛,如每逢某个时间点统计数据.在将来某个时刻执行某些动作...定时任务在主流开发语言均提供相应的API供开发者调用,在Java中,实现定时任务有很多种方式,原生的方式实现一个完整定时任务需要由Timer.TimerTask两个类,Timer是定时器类,用来按计划开启后台线程执行指定任务,TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务.除此之外,还可以用ScheduledE
随机推荐
- 百度工程师讲PHP函数的实现原理及性能分析(一)
- Lua中类的实现
- sql2008安装后服务器改名造成名称不一致解决方法
- 各种一句话木马大全
- javascript的函数
- 简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
- PHP数学运算函数大汇总(经典值得收藏)
- 研究Python的ORM框架中的SQLAlchemy库的映射关系
- python计算一个序列的平均值的方法
- ASP 指南
- XSS 0DAY代码
- JavaScript NodeTree导航栏(菜单项JSON类型/自制)
- IN&EXISTS与NOT IN&NOT EXISTS 的优化原则小结
- MySql允许远程连接如何实现该功能
- 收藏的精美的Flash 透明背景 提供下载
- jquery弹出框的用法示例(2)
- C#中WinForm程序退出方法技巧总结
- js本身的局限性 别让javascript做太多事
- java Future 接口使用方法详解
- 详解android webView独立进程通讯方式