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 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使用编程方式配置DataSource的方法
Spring Boot使用固定算法来扫描和配置DataSource.这使我们可以在默认情况下轻松获得完全配置的DataSource实现. Spring Boot还会按顺序快速的自动配置连接池(HikariCP, Apache Tomcat或Commons DBCP),具体取决于路径中的哪些类. 虽然Spring Boot的DataSource自动配置在大多数情况下运行良好,但有时我们需要更高级别的控制,因此我们必须设置自己的DataSource实现,因此忽略自动配置过程. Maven依赖 总体而
-
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之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实战之SSL配置详解
1.SSL介绍和说明 SSL的配置也是我们在实际应用中经常遇到的场景 SSL(Secure Sockets Layer,安全套接层)是为网络通信提供安全及数据完整性的一种协议,SSL在网络传输层对网络连接进行加密.SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持.SSL协议可以分为两层:SSL记录协议(SSL Record Protocal),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装.压缩.加密等基础功能的支持.SSL握手协议(SSL Handsh
-
配置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中关于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中通过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下使用定时任务的方式全揭秘(6种)
本文旨在用通俗的语言讲述枯燥的知识 定时任务作为一种系统调度工具,在一些需要有定时作业的系统中应用广泛,如每逢某个时间点统计数据.在将来某个时刻执行某些动作...定时任务在主流开发语言均提供相应的API供开发者调用,在Java中,实现定时任务有很多种方式,原生的方式实现一个完整定时任务需要由Timer.TimerTask两个类,Timer是定时器类,用来按计划开启后台线程执行指定任务,TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务.除此之外,还可以用ScheduledE
随机推荐
- Erlang实现的一个Web服务器代码实例
- AngularJS全局scope与Isolate scope通信用法示例
- Angular在模板驱动表单中自定义校验器的方法
- Javascript 对象的解释
- 深入JVM剖析Java的线程堆栈
- 在GridView中LinkButton的属性的应用(如何不用选中就删除这一行)
- iOS利用Block逆向传值的方式详解
- 使用Post提交时须将空格转换成加号的解释
- JS对select控件option选项的增删改查示例代码
- javascript eval和JSON之间的联系
- Bootstrap基本样式学习笔记之按钮(4)
- linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)
- Python实现自动为照片添加日期并分类的方法
- Android开发实现读取assets目录下db文件的方法示例
- JavaScript 经典实例日常收集整理(常用经典)
- thinkjs之页面跳转同步异步操作
- Android切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题的解决方法
- 在liunx中编写一个脚步定期删除mysql中的数据实现步骤
- MSN传播病毒Backdoor.Win32.IRCBot.acd清除方法
- Java编写猜数字小游戏