当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Eureka服务器上注册Keyclope

萧鸿轩
2023-03-14

有三种服务:

    用户服务 发现服务 >服务授权>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

我已配置eureka服务器,该服务器已启动并运行,并且我已向以下用户服务注册:@enablescoveryclient

应用属性(用户服务)

spring.application.name=user-service
server.port=8040
eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka

我可以看到注册的用户服务,这是可以的Spring Boot应用程序

我如何在Eureka Discovery服务中注册Key斗篷?

共有1个答案

柴声
2023-03-14

您可以尝试使用Spring Security性和对KeyClope的内置支持。(本指南)[https://www.baeldung.com/spring-boot-keycloak]给出了一个非常完整的例子。

为完整起见,以下是指南的相关摘录。如果你还没有,你将需要添加Spring键斗篷依赖到你的pom.xml

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.keycloak.bom</groupId>
            <artifactId>keycloak-adapter-bom</artifactId>
            <version>3.3.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

...
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-spring-boot-starter</artifactId>
</dependency>

您可以通过应用程序属性配置Spring。然后简单地设置扩展键斗篷适配器的Spring Security配置类。

@Configuration
@EnableWebSecurity
@ComponentScan(basePackageClasses = KeycloakSecurityComponents.class)
class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(
      AuthenticationManagerBuilder auth) throws Exception {

        KeycloakAuthenticationProvider keycloakAuthenticationProvider
         = keycloakAuthenticationProvider();
        keycloakAuthenticationProvider.setGrantedAuthoritiesMapper(
          new SimpleAuthorityMapper());
        auth.authenticationProvider(keycloakAuthenticationProvider);
    }

    @Bean
    public KeycloakSpringBootConfigResolver KeycloakConfigResolver() {
        return new KeycloakSpringBootConfigResolver();
    }

    @Bean
    @Override
    protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
        return new RegisterSessionAuthenticationStrategy(
          new SessionRegistryImpl());
    }
 }
 类似资料:
  • 我刚刚为JavaEE下载了NetBeans7.3并将其与Tomcat7.0.41一起安装,一切都很顺利,我可以运行NetBeans,从IDE中启动和停止Tomcat,并随意添加和删除服务器。 但是,当我尝试创建Java web应用程序项目时,服务器列表是空的。 我运行的是Netbeans 7.3、Java1.7、Tomcat 7.0.41和Windows XP-3。

  • 问题内容: 我获得了用于Web推送的Firebase Cloud Messaging注册令牌。然后,我将此邮件发送到服务器以保存在数据库中,以供以后推送。但是,如何验证此令牌有效或伪造的? 我已经尝试过了,但是我认为这是针对Auth令牌而不是针对Web推送的。 其他人可以将随机伪造令牌的请求发送到我的服务器。我想防止这种情况,然后再保存到数据库中。 编辑:已解决,我编写了一个简单的类来使用FCM快

  • 我正在docker compose中使用spring云发现服务。我控制下的所有Spring Boot服务在启动时通过“EnableDiscoveryClient”进行注册。 但我的docker compose中还有其他服务,我是从他们的dockerhub图像运行的。如何注册它们(数据库、ldap等)有没有办法配置eureka以查找已定义的组件(拉)而不是客户端“推”?

  • 在进行服务拆分之后,服务的数量会变得非常多,而每个服务又可能会有非常多的集群节点来提供服务,那么为保障系统的正常运行,必然需要有一个中心化的组件完成对各个服务的整合,即将分散于各处的服务进行汇总,汇总的信息可以是提供服务的组件名称、地址、数量等,每个组件拥有一个监听设备,当本组件内的某个服务的状态变化时报告至中心化的组件进行状态的更新。服务的调用方在请求某项服务时首先到中心化组件获取可提供该项服务

  • 我对docker,Spring框架的一切都很陌生…它们成功地在localhost环境中运行,现在我想把它们推送到docker中,但是总是给我错误,我在那里卡住了大约一周。有人能帮我弄清楚吗!!! 现在我有 eureka 服务器和云配置服务器服务,这是我的代码: 尤里卡服务器应用程序.yml 和 Dockerfile: 现在我有云配置服务器应用程序.yml:在这个文件中,我试图在github上备份它