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

在没有硬编码用户名密码的情况下访问cassandra

沈龙光
2023-03-14

我现有的Datastax Cassandra设置正在运行。我们刚刚在系统中添加了身份验证,现在我们可以使用我们的AD帐户登录。这非常好,当然有效。但是应用程序需要使用硬编码的用户名/密码才能连接。

在SQL Server中,我们能够设置一个用户作为运行服务,然后它将通过AD连接和工作。然而,在卡珊德拉这是不一样的。

如果我不想在app.config文件中包含用户名,尤其是密码,我有什么选择?

共有1个答案

温凯
2023-03-14

您可以通过DSE(Datastax Enterprise)通过LDAP使用身份验证,因此身份验证阶段使用LDAP完成,而不是您目前使用的DSE中的内部身份验证。请注意,我这里的评论适用于DSE5.0以后,但您可以从4.6以后将LDAP身份验证与早期版本的DSE一起使用。

留档(下面的链接)涵盖了这一点。基本步骤如下:

>

  • cassandra.yaml中配置您的身份验证器以使用DSE身份验证器

    验证器:com.datastax.bdp.cassandra.auth.DseAuthenticator

    使用Create role命令在cassandra中创建内部角色以映射到LDAP服务器中的LDAP组

    确保您需要使用的所有用户都映射到相关的LDAP组(LDAP配置的一部分)

    配置您的< code>dse.yaml,使其具有LDAP服务器的正确设置

    重新启动DSEhtml" target="_blank">过程以使设置生效

    以下文档提供了一些很好的示例和背景信息:

    https://docs.datastax.com/en/latest-dse/datastax_enterprise/unifiedAuth/unifiedAuthConfig.html

    https://docs.datastax.com/en/latest-dse/datastax_enterprise/sec/authLdapConfig.html

    注意:在配置< code>dse.yaml时,注意文档中关于< code>user_search_filter的注释:

    使用Active Directory时,将筛选器设置为(sAMAccountName={0})

  •  类似资料:
    • 另外,我希望在执行过程中隐藏'geckodriver.exe窗口‘。 ……余下的代码将继续....

    • 我在我的Android应用程序中使用JSch,我想创建一个SSH连接,而无需最初提供用户名和密码。如果我提供用户名和密码,我可以连接,但如果我不提供用户名,我会从JSch得到一个用户名没有给出“错误”。 这是我试图在不提供用户名和密码的情况下连接的。 我唯一的选择是将JSch的源代码更改为允许,编译成jar,然后导入它吗?

    • 问题内容: 我想知道在不提示输入密码的情况下执行数据库mysqldump的命令。 原因:我想运行一个cron作业,该作业每天执行一次mysqldump数据库的转储。因此,出现提示时,我将无法插入密码。 我该如何解决? 问题答案: 由于您正在使用Ubuntu,因此您所要做的只是在主目录中添加一个文件,这将禁用mysqldump密码提示。这是通过创建文件来完成的(权限需要为600)。 将此添加到.my

    • 问题内容: 我试图将配置(例如URLs / etc)放入资源文件夹中,以供实用程序类使用。但是,我不想从任何地方的活动中传递上下文。我希望能够通过路径名(似乎使用assess /是为此用途设计的)来访问资源,而无需使用上下文来访问资源。 在这种特殊情况下,我希望单例实例化时在配置中使用某些东西。除了实例化期间的那一次之外,它不需要任何资源。因此,每次调用getInstance()时都必须传递Con

    • 你好,我正在做一个天气应用程序,我不需要用户用电子邮件和密码注册。我想用他们的名字注册他们,如果可能的话,把他们的名字存储在firebase中,并在应用程序中为他们命名。如何做到这一点?

    • 问题内容: 我可以在没有jQuery的情况下访问数据属性吗? 使用jQuery很容易,但是如果没有jQuery,我在任何地方都看不到该怎么做。 如果我在Google上搜索“没有jQuery”,那么我得到的只是jQuery示例。 可能吗 问题答案: 在这里,我找到了这个例子: 因此,它看起来非常可行。