`
szqfsx123
  • 浏览: 43677 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

zuul网关的oauth2应用demo,请大神帮我改写(源码参见附件)

 
阅读更多

####微服务说明

2. plat-eureka-server 平台级,注册中心

3. plat-oauth2-server 平台级,认证中心

4. plat-zuul-server   平台级,服务网关

5. pro-cms            微服务,内容管理系统(文章,帖子,新闻)

6. pro-sys            微服务,用户管理系统(用户,角色,权限,日志)

 

####初始化配置说明:

 

#####一、plat-oauth2-server

 

>   需要存储token信息,使用的是redis,请修改application.properties配置

 

>   需要使用mysql数据库,导入sql语句:plat-oauth2-server\src\main\resources\sql\oauth2.sql

 

>   数据库的链接,请修改数据库配置

 

>   登录用户名admin,密码123456 ,其他请参见sys_user表

 

注:

 

1、如不想用redis,可以在AuthorizationServerConfig.java中修改为InMemoryTokenStore

 

2、如不想用mysql,可以在AuthorizationServerConfig.java中修改为

 

```java

clients.inMemory().withClient("acme").secret("acmesecret").scopes("read").authorizedGrantTypes("authorization_code");

```

 

在SecurityConfig.java中修改为

```java

auth.inMemoryAuthentication().withUser("user").password("123456").authorities("ROLE_ADMIN");

```

 

 

 

#####二、测试oauth2功能

1. 访问地址:http://localhost:8080/cms 走zuul网关,会自动跳转到登录页面

2. 输入用户名密码admin 123456 登录成功,进行授权,授权成功,**自动**跳转回cms页面

 

以上情况测试成功,oauth2功能已基本可以使用。

 

 

但是为想oauth2多节点高可用,请大神帮为解决以下问题:

1、zuul网关中配置了accessTokenUri: http://localhost:9999/uaa/oauth/token,这个地址没有走zuul网关。

走zull网关,只用把端口改为8080即可,修改后,认证失败异常。

 

请教网关传递oauth2的token是不是有问题?需要怎么优化一下啊?

 

附源代码的下载地址

 

 

 

 

 

####在springcloud中使用oauth2,我觉得有以下几个场景:

#####1、共用一个认证中心,这个认证中心不走zuul网关

在zuul微服务中增加@EnableOauth2SSO注解,配置clientId,clientSecret,accessTokenUri,userAuthorizationUri。

这里的uri中地址不经过网关

#####2、共用一个认证中心,这个认证中心经过zuul网关

    在zuul微服务中增加@EnableOauth2SSO注解,配置clientId,clientSecret,accessTokenUri,userAuthorizationUri。

这里的uri中地址不经过网关

#####3、使用多个认证中心,这个认证中心不走zuul网关

在各自微服务中配置@EnableOauth2SSO注解,网关不要配置oauth2

 

我的demo现在只在第一种场景中能跑,第二个中报错,请大神帮我修改一下demo

 

 

分享到:
评论
1 楼 ty1989 2018-02-06  
楼主,你的demo搞定了吗?能不能分享下搞定后的源码

相关推荐

    oauth2.0认证及zuul网关配置

    在"OAuth2.0认证及Zuul网关配置"中,我们将探讨如何将OAuth2的认证机制整合到Zuul网关中,以实现安全的API访问。 首先,OAuth2.0的核心概念包括资源所有者(Resource Owner)、客户端(Client)、授权服务器...

    第九章 SpringCloud Oauth2认证中心-Zuul网关上添加认证.pdf

    在本章中,我们将探讨如何在Spring Cloud环境中利用Oauth2认证中心以及Zuul网关实现安全的访问控制。这个教程将基于之前章节的代码,特别是第七章和第八章的内容,来添加OAuth2认证功能到Zuul网关,确保所有请求在被...

    spring cloud oauth2 zuul 单点登录 认证授权

    然后,在各个微服务应用中,配置Zuul作为API网关,对所有请求进行预处理,检查请求头中的OAuth2令牌。一旦用户在授权服务器成功登录,系统将生成一个令牌并发送给客户端,之后客户端在访问其他服务时只需携带该令牌...

    zuul网关demo

    在本文中,我们将深入探讨"zuul网关demo",这是一个基于Spring Boot和Zuul构建的微服务网关的示例项目。Spring Boot简化了Java应用的开发过程,而Zuul是Netflix OSS平台的一部分,它作为一个边缘服务提供动态路由、...

    第六章 SpringCloud Zuul网关.pdf

    在本章节中,我们将了解Zuul网关的基本概念和使用方法,以及如何将其应用于微服务架构中。 Zuul网关的主要功能包括: 1. 路由转发:Zuul网关可以将请求url转发到下层的微服务中,实现统一的出口。 2. 服务发现:...

    zuul网关登陆鉴权/动态路由

    Zuul 是 Netflix 开源的一款基于 Java 的边缘服务框架,它主要用作微服务架构中的 API 网关。API 网关是系统对外的统一入口,负责路由、过滤、安全控制、负载均衡等任务。在本文中,我们将深入探讨 Zuul 在企业级...

    zuul oauth2

    zuul oauth2

    springcloude+oauth+zuul

    标题 "springcloud+oauth+zuul" 涉及到的是一个基于Spring Cloud构建的微服务架构,并结合了OAuth2认证授权以及Zuul边缘服务的实现。让我们深入了解一下这三个核心概念及其相互作用。 **Spring Cloud** Spring ...

    zuul网关配置参考

    在微服务架构中,Zuul 是一个非常重要的组件,它作为边缘服务或者API网关,负责处理所有来自客户端的请求,并将这些请求路由到相应的微服务。Spring Boot 结合 Zuul 可以轻松实现这一功能,使得微服务架构更加灵活和...

    springcloud zuul 网关实现源码

    springcloud zuul 网关开发实践,模拟了在Spring Cloud微服务系统中,客户端的请求首先经过负载均衡(zuul、Ngnix),再到达服务网关(zuul集群),然后再到具体的服的实现过程。

    springcloud:Zuul动态网关demo源码案例演示

    springcloud:Zuul动态网关demo源码案例演示

    springcloud zuul网关服务

    3. **多重认证**:在Zuul中,我们可以利用过滤器实现多种认证方式,如OAuth2、JWT(JSON Web Token)等。通过预处理过滤器,可以检查请求头中的认证信息,确保只有经过授权的请求才能被转发到后端服务,增强了系统的...

    oauth-zuul.rar

    基于OAuth2剥离各微服务权限认证功能,将其单独抽象为一个权鉴服务是我比较认可的一种方式,在这个基础上个人认为对于一些权限要求简单的场景,可以使用zuul网关集成权鉴功能验证Token,好处是内网微服务可以完全...

    基于Java的zuul网关权限控制与黑白名单设计源码

    该项目为基于Java开发的zuul网关权限控制与黑白名单设计源码,包含103个文件,其中Java源文件65个,XML配置文件7个,属性文件6个,Git忽略文件4个,JAR包文件4个,CMD脚本文件4个,Markdown文件2个,日志文件2个,...

    SpringClouud zuul +oauth 实现权限控制

    在Spring Cloud需要使用OAUTH2来实现多个微服务的统一认证授权,通过向OAUTH服务发送某个类型的grant type进行集中认证和授权,从而获得access_token,而这个token是受其他微服务信任的,我们在后续的访问可以通过...

    微服务springcloud之zuul使用demo

    Zuul 网关是具体核心业务服务的看门神,相比具体...在分布式的微服务系统中,系统被拆为了多套系统,通过 Zuul 网关来对用户的请求进行路由,转发到具体的后台服务系统中,大神必备神器,导入即用,无需更改和配置!

    apm_test.rar:项目设计rabbitmq;eurake注册中心;zuul网关;企业微信接口;继承soringcloud

    综上所述,apm项目是一个综合性的微服务应用,利用了RabbitMQ进行消息传递,Eureka实现服务发现,Zuul作为API网关,以及企业微信接口进行实时通信。项目设计的目标是高可用性和集群支持,而"apm_test.sql"则反映了...

    spring-cloud-zuul(包含注册中心、服务生产者、服务消费者、zuul网关路由).zip

    《Spring Cloud Zuul:构建微服务的路由网关》 Spring Cloud Zuul 是一个基于 Netflix Zuul 的微服务网关,它提供了动态路由、过滤器以及面向服务的路由功能,是构建分布式系统的重要组件。在Spring Cloud生态中,...

Global site tag (gtag.js) - Google Analytics