Eureka增加账号密码认证登录

这篇具有很好参考价值的文章主要介绍了Eureka增加账号密码认证登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、业务背景

注册中心Eureka在微服务开发中经常使用到,用来管理发布的微服务,供前端或者外部调用。但是如果放到生产环境,我们直接通过URL访问的话,这显然是不安全的。

Eureka增加账号密码认证登录,java,eureka,云原生

 所以需要给注册中心加上登录认证。

Eureka增加账号密码认证登录,java,eureka,云原生

 通过账号和密码认证进行登录

二、实施步骤

1、在pom文件中引入依赖

        <!--加入安全认证  eureka登录认证-->
		<dependency>
		     <groupId>org.springframework.boot</groupId>
		     <artifactId>spring-boot-starter-security</artifactId>
		 </dependency>

2、在yml文件中配置账号密码:

#服务名称
spring:
  application:
    name: eureka
  security:
    enabled: true
    user:
      name: admin
      password: 123456

 3、如何注册的Eureka,yml中配置

eureka:
  client:
    register-with-eureka: true # 表示是否向Eureka注册中心注册自己
    fetch-registry: false # false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@10.8.215.8:8761/eureka/ #注册的注册中心集群配置

4、关键的一步。重写WebSecurityConfigurerAdapter,要不然会注册不成功。如果没有这个类会报:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //关键就在于这行代码
        http.csrf().disable();
        super.configure(http);
    }
}

三、Eureka介绍

Eureka是Netflix开发的服务发现框架,是一个基于REST(一种软件架构风格,一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性)的服务。主要以AWS云服务为支撑,提供服务发现并实现负载均衡和故障转移。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

1、Eureka本身有哪些组件

Eureka Server 和Eureka Client

服务端提供服务注册,当客户端服务启动的时候,会主动向服务端进行注册,服务端会存储所有已经注册服务节点信息。服务端会管理这些节点信息,并且会将异常的节点移除服务列表。

客户端会每隔30秒发送心跳给服务端,告诉服务端自己时可用的。如果一个服务长时间没有发送心跳,大约90秒内会被移除服务器列表。另外客户端有缓存功能,所以即便Eureka集群中所有节点都失效,或者发生网络分割故障导致客户端不能访问任何一台Eureka服务器;Eureka服务的消费者仍然可以通过Eureka客户端缓存来获取现有的服务注册信息。

无论是服务端还时客户端,都支持集群模式,注册信息和更新信息会在整个eureka集群的节点进行复制。

2、Eureka的优势

比较流行的服务治理框架还有zookeeper,那与之相比较,为什么偏向于选择eureka。如果用分布式架构的CAP定理(C-数据一致性;A-服务可用性;P-服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个))来说的话,eureka是偏向于AP,而zookeeper是偏向于CP。一般开发中,大多追求是高可用,那么eureka就更有优势。另外eureka集群中,如果某个服务器不可用,它不会有类似于ZooKeeper的选举leader的过程;客户端请求会自动切换到新的Eureka节点;当宕机的服务器重新恢复后,Eureka会再次将其纳入到服务器集群管理之中,重新同步新的服务注册即可;

3、注册中心

管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。有了服务中心后,任何一个服务都不能直接去相互调用,必须通过注册中心来调用:

这样一来,服务之间的相互调用就不用去维护对方的地址信息,而是由注册中心来统一管理,不容易出错,易于维护,方便集群,监控每个服务。文章来源地址https://www.toymoban.com/news/detail-626269.html

到了这里,关于Eureka增加账号密码认证登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云原生微服务 第五章 Spring Cloud Netflix Eureka集成负载均衡组件Ribbon

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具,其主要功能是提供客户端的负载均衡算法和服务

    2024年02月08日
    浏览(33)
  • 云原生微服务治理 第四章 Spring Cloud Netflix 服务注册/发现组件Eureka

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 今天我们讲解Spring Cloud微服务的第一代实现:Spring Cloud Netflix Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。 Spring Cloud 使用 Spring Boot 思想为 Eur

    2024年02月08日
    浏览(42)
  • Nacos和Eureka都是开源的、易于使用的、功能丰富的平台,用于构建云原生应用

    Nacos和Eureka都是开源的、易于使用的、功能丰富的平台,用于构建云原生应用。它们提供了构建云原生应用所需的各种组件和功能,如服务发现、配置管理、动态服务管理等。以下是Nacos和Eureka的一些主要区别: 架构:Nacos采用分层架构,包括数据采集层、数据存储层、服务发

    2024年01月25日
    浏览(30)
  • 配置使用Gitee账号认证登录Grafana

    所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。 举例来说,A 网站允许 Gitee 登录,背后就是下面的流程。 A 网站让用户跳转到 Gitee。 Gitee 要求用户登录,然

    2024年02月12日
    浏览(25)
  • uni-app:实现账号密码登录,并且实现当页面登录过该账号在下次登录时无需再输入账号密码(本地缓存实现)

    一、完整代码 二、标签部分解析 使用了 template 标签定义模板。 页面主要由一个 view 标签组成。 页面包含一个标题图片和一个登录表单。 标题图片使用了 image 标签,通过 :src 绑定属性来设置图片路径。 登录表单使用了 form 标签,并在提交时调用 formSubmit 方法。对账号和密

    2024年02月15日
    浏览(42)
  • 忘记Linux系统的root密码怎么办?快速找回方法,重置root密码 、Linux 登录账号解锁、密码正确无法登录、账号锁定问题处理

    查看用户登录失败的信息 解封用户 方法一 ,rd.break 第 1 步:重启系统编辑内核参数 第 2 步:找到 linux 这行,在此行末尾空格后输入rd.break   (End键也可直接进入行尾) 成功后显示页面为: 第 3 步:以读写方式挂载sysroot(这里sysroot是以只读的形式挂载的,所以要以可读可

    2024年04月12日
    浏览(74)
  • qt 获取登录界面账号和密码

     

    2024年02月16日
    浏览(34)
  • ElasticSearch:下载、启动和账号密码登录

    因为我的电脑是 window,以下都是以 window 环境举例。 一、下载 Elasticsearch 是使用 java 开发的,且 7.8 版本的 ES 需要 JDK 版本 1.8 以上,安装前注意java环境的准备。 官网地址:https://www.elastic.co/cn/ 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 下载后解压即用,目

    2024年04月22日
    浏览(25)
  • nacos踩坑,输入账号密码无法登录

    问题描述: nacos启动,登录正确的账号密码(nacos/nacos)无法登录 解决思路 : 这里使用的是 jeecgboot 项目 1.检查nacos配置(数据源) 2.排查是否是缓存原因(清楚idea缓存,Chrome缓存) 3.检查数据库 1.检查nacos配置数据库 : 检查账号,密码,url是否连接正确 2.清理缓存 : idea 缓存清理:

    2024年02月12日
    浏览(60)
  • Java(六):Eureka项目搭建、数据请求

    Eureka采用的是Server/Client的模式进行设计。 Server扮演了服务注册中心的角色,为Client提供服务注册和发现的功能,维护着注册到自身的Client的相关信息,同时提供接口给Client获取到注册表中其他服务的信息。 Client将有关自己的服务的信息通过一定的方式登记到Server上,并在正

    2024年02月11日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包