Rental Application (React & Spring boot Microservice) - 4 : AUTH-SERVICE

4110 ワード

#1 Auth-Service


Auth-serviceは、ユーザロジックを処理するサービスである.例えば会員登録、ログイン、ユーザー情報の確認など.また、Springセキュリティをサービスで実装し、APIゲートウェイのフィルタを使用して認証および認証セクションを実装します.

#2インストール項目




データベースはmariadbを使用するため、mariadbコネクタに関するデジタルコピーが追加され、jpaデジタルコピーも追加されました.

#3事業実施


server:
  port: ${port:7000}

spring:
  application:
    name: auth-service

  jpa:
    generate-ddl: true
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        show_sql: true
        format_sql: true
        use_sql_comments: true

  datasource:
    url: "jdbc:mariadb://localhost:3306/AUTHSERVICE?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC"
    username: biuea
    password: password
    driver-class-name: org.mariadb.jdbc.Driver
    
eureka:
  client:
    fetch-registry: true
    register-with-eureka: true
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka
メイン関数で@EnableEurekaClient宣言を宣言しました.このサービスはEurekaServerに登録されているサービスです.応用もあります.ymlファイルはjpaとdatasourceの設定を次のように命名します.
ddl-auto:createは、サービスが開始されると自動的にテーブルが作成されることを示します.後でvalidateオプションに変更します.

#4 Controller


まずはapiGateway-サービス中のpomです.xmlファイルに次のディスクコピーを追加します.
<dependency>
	<groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
次に、メイン関数に@EnableEurekaClient宣言を付け、アプリケーションを実行します.ymlファイルをloadバランサに付与し、fetch-registryとregister-wit-eurekaにtrue値を追加してeureka-serverにapigate-serviceを登録します.
spring:
  application:
    name: apigateway-service

  cloud:
    gateway:
      routes:
        - id: auth
          uri: lb://AUTH-SERVICE
          predicates:
            - Path=/auth-service/**

      default-filters:
        - name: GlobalFilter
          args:
            baseMessage: Spring Cloud Gateway Global Filter
            preLogger: true
            postLogger: true

server:
  port: ${port:8900}

eureka:
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://localhost:8761/eureka
lb://AUTH-SERVICEではlbがローダを表し、AUTTH-SERVICEはhttp://localhost:8761理由を表すに登録されているAUTTH-SERVICEの名称である.すなわち、要求が述語の下の経路で送信された場合、要求は要求に適合するEureka−Server登録サービスに送信される.



コントローラを実装し,端末上で発見サービス,api-serviceを実行する.次に、uriがコントローラの値にマッピングされているかどうかを確認します.

画面に示すように、要求はapigateway-サービスのポート8900に送信され、結果/セルフサービス/の要求はAUTOH-SERVICEに送信された.

この方法により,AUTOH−SERVICEを次号でさらに実現する.