成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

為Eureka添加HttpBasic認證

簡介

在網(wǎng)絡(luò)世界中,任何網(wǎng)絡(luò)中的服務(wù)都是不安全的,為了使我們的 Eureka 服務(wù)更加安全,我們可以添加各種各樣的認證方式,以使客戶端在提供相應(yīng)的證明之后才能夠注冊到 Eureka 中。而這次我們就添加一個最基本的 Http Basic 認證到 Eureka 中。 HTTP Basic 是簡單的用戶名密碼認證,客戶端在發(fā)送注冊請求時,會附帶用戶名和密碼一起發(fā)送到 Eureka Server,這種傳輸方式也屬于不×××全的一種。

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)汝陽免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了超過千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

項目源碼

Gitee碼云

配置 Eureka Server

打開遠程 git 倉庫中的 eureka-server.yml 文件,添加如下配置:

---
spring:
  profiles: peer1
  security:
    user:
      name: test
      password: 123456
      roles: USER
server:
  port: 8761
eureka: 
  instance:
    hostname: peer1
  client: 
    register-with-eureka: false
    fetch-registry: false
    # serviceUrl:
    #   defaultZone: http://peer2:8762/eureka

---

為了簡化服務(wù)注冊,我們這次測試只使用 peer1 這個 profile,并且把 register-with-eurekafetch-registry 設(shè)置為了 false 以關(guān)閉自身注冊。然后我們在 spring 下配置了 security.user.name,password, roles,分別用來指定可以登錄的用戶名,密碼,和用戶組。

在我們的 registry 項目中創(chuàng)建一個 Java 類 cn.zxuqian.configurations.WebSecurityConfig,并添加如下代碼:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    private static Logger log = LoggerFactory.getLogger(WebSecurityConfig.class);

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable().httpBasic();
    }

    @Bean
    public UserDetailsService userDetailsService() {
        User.UserBuilder builder = User.withDefaultPasswordEncoder();
        InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
        manager.createUser(builder.username("test").password("123456").roles("USER").build());
        return manager;
    }

}

這里覆蓋了 WebSecurityConfigurerAdapter 中的 configure() 方法,用來停用 CSRF 保護,因為我們的 Eureka Server 使用了 peer 做為 hostname,而稍后測試的 product-service 使用了 localhost,會被禁止訪問 Eureka 資源。然后在 userDetailsService() 方法中添加了一個 test 用戶用于認證。

Product-service

打開遠程 git 倉庫中的 product-service.yml 文件,添加如下配置:

eureka:
  client:
    serviceUrl:
      defaultZone: http://test:123456@peer1:8761/eureka/

這里在 defaultZone 指定的 Url 中添加了 [username]:[password]@host:port/eureka/ 形式的地址,此為 curl 發(fā)送用戶名和密碼的方式。

測試

首先運行 Config Server,然后使用 mvn spring-boot:run -Dspring-boot.run.profiles=peer1 運行 Eureka Server,最后運行 product-service,稍等片刻就會看到 product-service 注冊成功,而 Eureka Server 的 log 中會有如下字樣(需設(shè)置 log level 為 debug):

2018-05-19 18:16:45.278 DEBUG 19055 --- [nio-8761-exec-9] w.c.HttpSessionSecurityContextRepository : Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@442bd3dc: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@442bd3dc: Principal: org.springframework.security.core.userdetails.User@364492: Username: test; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; credentialsNonExpired: true; AccountNonLocked: true; Granted Authorities: ROLE_USER; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_USER'

歡迎訪問我的博客:http://zxuqian.cn/

文章名稱:為Eureka添加HttpBasic認證
路徑分享:http://jinyejixie.com/article14/jjjpde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站維護、品牌網(wǎng)站建設(shè)、網(wǎng)站收錄、做網(wǎng)站、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
新余市| 宁武县| 贵溪市| 新平| 法库县| 仪征市| 东海县| 山西省| 蒲城县| 泸溪县| 岱山县| 轮台县| 霞浦县| 定西市| 通许县| 宽城| 纳雍县| 舒兰市| 兴文县| 汽车| 临朐县| 临武县| 大理市| 柳河县| 泌阳县| 天等县| 澄迈县| 金阳县| 策勒县| 板桥市| 乌鲁木齐县| 鄢陵县| 广河县| 拉孜县| 安塞县| 田东县| 南漳县| 阜阳市| 积石山| 南岸区| 磐石市|