Encryption Solr配置,加密数据配置文件
如何在此处加密数据配置部分Encryption Solr配置,加密数据配置文件,encryption,solr,indexing,Encryption,Solr,Indexing,如何在此处加密数据配置部分 <dataConfig> <dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://127.0.0.1;databaseName=emp" user="user" password="user"/> <document name="reviews"> &l
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://127.0.0.1;databaseName=emp" user="user" password="user"/>
<document name="reviews">
<entity name="COMMON" query="select id,name from users" >
<field column="id" name="id"/>
<field column="name" name="name"/>
</entity>
</document>
</dataConfig>
基本上,我不想公开用户和密码
或者,如果数据配置文件不能被加密(部分或全部),我可以使用SolrJ对数据库进行索引,这样我就不必配置数据配置文件了吗?也就是说,我使用SolrJ API传递url和身份验证参数?请参见:
您可以将它们作为属性保存在文件/conf/solrcore.properties
中,并在数据配置中引用它们。因此,您的data-config.xml如下所示:
<dataSource type="JdbcDataSource"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://${jdbc.host}:${jdbc.port}/${db.name}"
user="${jdbc.username}"
password="${jdbc.password}"/>
我建议,一个更安全的选项是在Web服务器中配置JNDI 如何配置JNDI?解释如何使用Tomcat执行此操作。其他流行的Web服务器也可以这样做 您可以在数据配置文件中使用JNDI名称,如下所示:
< dataSource name="xyz" jndiName="jdbc/xyz" type="JdbcDataSource"/>
您确定Solr DataImportHandler支持jndiName属性吗?我在列表中看不到它。我在列表中也看不到它。我得到的印象是,我必须做以下事情之一:1。通过此处定义的类插入数据源:2。正如我在这里提到的:3。使用属性(见下文),但这如何解决我无法在系统上任何地方使用明文密码的问题?@AlexandreRafalovitch我对此非常确定,因为我一直在使用“jndiName”属性在我的项目中指定数据库连接凭据。@AamirQuraishi您提供的解决方案,尽管是个好主意,需要额外加密和解密密码。但是,通过配置JNDI,您要求Web服务器处理这个问题,而Web服务器反过来又为您处理这个问题。“这取决于你重新发明轮子。”马维林,接得好。检查,表明它确实是一个选项。我将更新官方Wiki以匹配。谢谢Arun-但是可以对属性文件进行加密以便SolR解密属性值吗?我们的问题是,我们不能把任何明文密码放在任何地方的任何文件中。我不知道。尝试询问solr用户邮件列表。
< dataSource name="xyz" jndiName="jdbc/xyz" type="JdbcDataSource"/>