3

ここでデータ構成部分を暗号化するにはどうすればよいですか?:

<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 と認証パラメーターを渡しますか?

4

2 に答える 2

4

より安全なオプションとして、Web サーバーでJNDIを構成することをお勧めします。

JNDI の設定方法 このページでは、Tomcat でこれを行う方法について説明します。他の一般的な Web サーバーでも同様に実行できます。

次のように、データ構成ファイルで JNDI 名を使用できます。

< dataSource name="xyz" jndiName="jdbc/xyz" type="JdbcDataSource"/>
于 2013-02-27T12:03:43.377 に答える
1

参照: https://wiki.apache.org/solr/SolrConfigXml#System_property_substitution

それらをファイル内のプロパティとして保持し<solr.home>/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}"/>

のすべてが${...}次のような solrcore.properties のプロパティです。

jdbc.host=http://127.0.0.1
jdbc.port=3306
db.name=emp
...
于 2013-02-27T05:19:27.113 に答える