返回顶部
首页 > 资讯 > 后端开发 > Python >spring cloud 使用oauth2 问题汇总
  • 408
分享到

spring cloud 使用oauth2 问题汇总

2024-04-02 19:04:59 408人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

OAth2是一个标准的授权协议。 在认证与授权的过程中,主要包含以下3种角色。 服务提供方 Authorization Server。资源持有者 Resource Server。客户

OAth2是一个标准的授权协议。

在认证与授权的过程中,主要包含以下3种角色。

服务提供方 Authorization Server。
资源持有者 Resource Server。
客户端 Client。

下面重点介绍下spring cloud 使用oauth2问题,内容如下所示:

1、Spring Boot 集成oauth2,带了token却访问时各种禁止访问,追踪代码过滤器发现变为匿名用户导致无法访问授权资源,添加过滤器各种都没效果,甚至添加了过滤器登录都登录不了了,

添加的依赖为

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!--oauth2依赖-->
        <dependency>
            <groupId>org.springframework.security.oauth</groupId>
            <artifactId>spring-security-oauth2</artifactId>
            <version>2.3.3.RELEASE</version>
        </dependency>

将其直接改为spring-cloud-starter-oauth2 依赖,问题解决

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-oauth2</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

2、spring cloud oauth2 使用自定义 UserDetails 后,通过 

authentication.getPrincipal() instanceof OpenUserDetails 

获取用户信息时,老是报类型匹配失败 

(OpenUserDetails) authentication.getPrincipal() 使用这句时直接报错

java.lang.ClassCastException: com.kou.auth.OpenUserDetails cannot be cast to com.kou.auth.OpenUserDetails

通过classloader看,同一个类被不同的classloader加载了,导致无法匹配,

通过查资料等最终确定问题是  spring-boot-devtools 这个依赖引起的

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

问题分析
分析出ClassLoader不同导致的类型转换异常,Spring的dev-tools为了实现重新装载class自己实现了一个类加载器,来加载项目中会改变的类,方便重启时将新改动的内容更新进来,其实其中官方文档中是有做说明的:

By default, any open project in your IDE will be loaded using the “restart” classloader, and any regular .jar file will be loaded using  the “base” classloader. If you work on a multi-module project, and not each module is imported into your IDE, you may need to customize things. To do this you can create a
 META-INF/spring-devtools.properties file. The spring-devtools.properties file can contain restart.exclude. and  restart.include. prefixed properties. The include elements are items  that should be pulled up into the “restart” classloader, and the exclude elements are items that should be pushed down into the “base”
classloader. The value of the property is a regex pattern that will be   applied to the classpath.

处理方法,将其删掉

或者

在resources目录下面创建META_INF文件夹,然后创建spring-devtools.properties文件,文件加上类似下面的配置:

	restart.exclude.companycommonlibs=/mycorp-common-[\w-]+.jar
    restart.include.projectcommon=/mycorp-myproj-[\w-]+.jar

到此这篇关于spring cloud 使用oauth2 问题汇总的文章就介绍到这了,更多相关spring cloud 使用oauth2内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: spring cloud 使用oauth2 问题汇总

本文链接: https://lsjlt.com/news/166801.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • spring cloud 使用oauth2 问题汇总
    OAth2是一个标准的授权协议。 在认证与授权的过程中,主要包含以下3种角色。 服务提供方 Authorization Server。资源持有者 Resource Server。客户...
    99+
    2024-04-02
  • 使用python-thrift问题汇总
    使用环境是Centos6.4,python版本2.7.3,thrift版本0.9.0。使用中遇到了以下问题:1. root:code for hash md5 was not found没有找到MD5的库,于是解释器又去寻找SHA1 SH...
    99+
    2023-01-31
    python thrift
  • 使用JWT作为Spring Security OAuth2的token存储问题
    目录序授权服务器整合JWT——对称加解密算法资源服务器整合JWT——对称加解密算法OAuth整合JWT——非对称加解密RSA测试验证测试通过序 Spring Security OAu...
    99+
    2024-04-02
  • nginx 问题汇总
    1. connect() failed (111: Connection refused) while connecting to upstream, client: X.X.X.X, server:...
    99+
    2023-09-09
    nginx 服务器 php
  • Java经典面试题汇总:Spring
    目录1. 什么是Spring? 有哪些优点?2. 什么是 AOP?3. 什么是 IOC?4. 什么是 DI?5. Spring 有哪些核心模块?6. Spring 常...
    99+
    2024-04-02
  • python3编码问题汇总
    这两天写了个监测网页的爬虫,作用是跟踪一个网页的变化,但运行了一晚出现了一个问题。。。。希望大家不吝赐教! 我用的是python3,错误在对html response的decode时抛出,代码原样为: ...
    99+
    2022-06-04
  • python编码问题汇总
    目录一、了解字符编码的知识储备1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)2. python解释器执行py文件的原理 二、字符编码简介三、...
    99+
    2024-04-02
  • ubuntu各种问题汇总
    1. Minimize on click gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize' 2. 安装pycharm sudo sn...
    99+
    2023-01-31
    ubuntu
  • fastadmin使用学习中的常见问题汇总
    目录一、fastadmin后台能访问,前台路径错误 ,前台路径错误,后台又能访问。二、使用fastadmin随机生成的入口文件报模板不存在三、去掉表格中默认的搜索样式四、控制器方法中...
    99+
    2022-12-17
    fastadmin常见问题汇总
  • 如何解决使用JWT作为Spring Security OAuth2的token存储问题
    小编给大家分享一下如何解决使用JWT作为Spring Security OAuth2的token存储问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!序Spring Security OAuth3的de...
    99+
    2023-06-22
  • MySQL count(*)统计总数问题汇总
    目录1. MyISAM存储引擎计数为什么这么快?2. 能不能手动实现统计总行数3. InnoDB引擎能否实现快速计数在日常开发工作中,我经常会遇到需要统计总数的场景,比如:统计订单总数、统计用户总数等。一般我们会使用my...
    99+
    2024-04-02
  • MySQL count(*)统计总数问题汇总
    目录1. MyISAM存储引擎计数为什么这么快?2. 能不能手动实现统计总行数3. InnoDB引擎能否实现快速计数在日常开发工作中,我经常会遇到需要统计总数的场景,比如:统计订单总...
    99+
    2024-04-02
  • Java经典面试题汇总:Spring MVC
    目录1. 什么是Spring MVC ?2. Spring MVC 有哪些组件?3. 说一下 Spring MVC 运行流程?4. Spring MVC的优点:5. @Request...
    99+
    2024-04-02
  • Java经典面试题汇总:Spring Boot
    目录1. 什么是 Spring Boot?2. 为什么要用 Spring Boot? 3. Spring Boot 核心配置文件是什么?4. Spring Boot 提供了...
    99+
    2024-04-02
  • Spring Cloud常见问题有哪些
    本篇内容介绍了“Spring Cloud常见问题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Eureka常见问题Eureka 注...
    99+
    2023-06-05
  • Spring Boot 常用注解汇总
    Spring Boot 常用注解 一、启动注解@SpringBootApplication@SpringBootConfiguration 注解@EnableAutoConfiguration 注解@ComponentScan 注解...
    99+
    2023-08-25
    spring boot spring java 后端
  • 解决nacos升级spring cloud 2020.0无法使用bootstrap.yml的问题
    nacos升级spring cloud 2020.0无法使用bootstrap.yml 之前用spring cloud整合nacos,需要一个bootstrap.yml作为sprin...
    99+
    2024-04-02
  • Mysql索引常见问题汇总
    Q1:数据库有哪些索引?优缺点是什么? B树索引:大多数数据库采用的索引(innoDB采用的是b+树)。能够加快访问数据的速度,尤其是范围数据的查找非常快。缺点是只能从索引的最左列开始查找,也不能跳过索引中的列,如果...
    99+
    2022-05-17
    MySQL 索引 MySQL 索引问题
  • ZKEACMS 无法运行问题汇总
    前言如果你还不知道ZKEACMS,不妨先了解一下。ASP.NET MVC 开源建站系统 ZKEACMS 推荐,从此网站“拼”起来官方地址:http://www.zkea.net/zkeacms下载地址:ht...
    99+
    2024-04-02
  • MySQL5.7源码安装问题汇总
           编译安装mysql5.7版本,想试用一下新的版本特性,发现跟之前的5.6版本编译有了一些变化,总结一下避免以后继续入坑。5.6安装方式cmake版本5....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作