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

如何在Spring应用程序中添加SASL身份验证

西门京
2023-03-14

我有一个Spring应用程序,它使用Kafka实例而没有任何身份验证。

现在故事发生了变化,Kafka离开了应用程序并作为集群运行。我收到了Kafka凭据用户名和密码以及主机名:端口信息。

其他信息,我需要连接到Kafka集群。

是否需要进行任何代码更改?还是我只需要在应用程序配置文件.yaml文件中添加一些信息?

我尝试了Google中建议的不同方法,但似乎对我没有任何效果,我一直收到:

错误:
正在打开与服务器X1.X2.X3.X4/X1.X2.S3.X4:2181的套接字连接。将不会尝试使用SASL进行身份验证(未知错误)

hequeue:
    #To use local kafka, update use-mock-queue to false and add local  zkservers and metadata-broker-list
    use-mock-queue: false
    zkservers: X1.X2.X3.X4:2181,Y1.Y2.Y3.Y4:2181,Z1:Z2:Z3:Z4:2181
    metadata-broker-list: X1.X2.X3.X4:9092,Y1.Y2.Y3.Y:9092,Z1:Z2:Z3:Z4:9092
    properties:
        sasl:
            jaas:
                config: org.apache.kafka.common.security.scram.ScramLoginModule required username='ANKIT' password='KOTAK';
            mechanism: SCRAM-SHA-256
            kerberos:
                service:
                    name: kafka
        security:
            protocol: SASL_SSL

共有1个答案

谷梁鸣
2023-03-14

以下是我们使用Spring kafka的示例配置之一。如果匹配,您可以尝试:

spring:
  kafka:
    bootstrap-servers: 
    consumer:
      properties:
        isolation.level: 
        ssl.truststore.location: 
        ssl.truststore.password: 
        security.protocol: SASL_SSL
        sasl.mechanism: GSSAPI
        sasl.kerberos.service.name:     
    producer: 
      properties: 
        ssl.truststore.location: 
        ssl.truststore.password: 
        security.protocol: SASL_SSL
        sasl.mechanism: GSSAPI
        sasl.kerberos.service.name: 
    admin:
      properties: 
        ssl.truststore.location: 
        ssl.truststore.password: 
        security.protocol: SASL_SSL
        sasl.mechanism: GSSAPI
        sasl.kerberos.service.name: kafka
 类似资料:
  • 在Spring Boot项目中,我们启用了Spring Security性,并使用承载令牌应用了KeyClope身份验证,如以下文章所述: https://www.keycloak.org/docs/3.2/securing_apps/topics/oidc/java/spring-security-adapter.html https://www.keycloak.org/docs/3.2/se

  • 我正在创建一个应用程序,用户必须使用电子邮件和密码注册。我希望firebase首先验证电子邮件,如果它确实存在并且是电子邮件,并在firebase中创建帐户后向用户发送链接以验证电子邮件。我该怎么做?有人能告诉我吗?

  • 要求: Spring启动应用程序与Spring狐狸 将基本身份验证添加到 Swagger 传递所有其他请求 代码:已实现 然而,这段代码无法工作-您可以自由浏览/炫耀ui。html#/没有任何授权。 问题是-为什么BASIC身份验证和用户不适用于swagger uiendpoint?

  • 我已经集成了Swagger,以便使用SpringBoot为SpringREST应用程序生成API文档。它工作得很好,当我点击URL时,我可以看到生成的API文档:http://localhost:8080/test/swagger-用户界面。html我的问题是如何限制对API的访问?基于硬编码用户名和密码的基本身份验证应该足够好,至少从一开始就足够了。我使用maven添加了“swagger2”依赖

  • 问题内容: 我想在我的Java应用程序中使用Windows NTLM认证来透明地认证Intranet用户。如果使用浏览器(单点登录),用户将不会注意到任何身份验证。 我发现了一些具有NTLM支持的库,但是不知道要使用哪个库: http://spnego.sourceforge.net/ http://sourceforge.net/projects/ntlmv2auth/ http://jcifs

  • 嗨,我的spring boot项目中出现代理407身份验证错误。在这些场景中,我尝试了两种场景:proxyHost和proxyPort值正常工作,但用户名和密码无效?有人面临这种情况吗?在我的本地机器上,当我给出端口和主机而没有给出用户名密码时,它可以工作,但我用错误的格式给出用户名和密码来查看它的效果?我没有效果。同样在服务器中,我得到了407身份验证代理异常。如何在spring boot中传递