【问题标题】:Encryption of dataConfig section fields in SOLRSOLR中dataConfig部分字段的加密
【发布时间】:2012-10-05 11:15:12
【问题描述】:

我正在使用 data-config.xml 文件中的 dataConfig 部分从 DB 生成 SOLR,它工作正常。

<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>

我想对上述配置中的 url、databaseName、user 和 password 字段进行加密。

请帮忙,

提前致谢。

阿尼尔贾扬蒂

【问题讨论】:

    标签: solr


    【解决方案1】:

    基本上,您可以参数化 pwd 字段(或任何其他字段)。如下所示,我已经参数化了密码字段:

    <dataConfig>
         <dataSource name="jdbc" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@//testdbserver:1521/db1" user="tester"  password="${dataimporter.request.pwd}"/>
    </dataConfig>
    

    所以在调用服务器时,可以将pwd作为参数传递:

    http://www.googleserver:/solr/dataimport?command=full-import&pwd=sa

    现在,您可能必须加密上面 url 中的密码或用户(使用 DES) - 然后找到在 SolR 端解密的方法。对于 SolR 端的解密,您必须编写一个自定义评估器(尽管 SolR 可能提供了一个我找不到的解密函数)。

    或者,可以从自定义评估器中获取参数。请参阅下面的链接以了解自定义评估器: http://wiki.apache.org/solr/DataImportHandler#Custom_Evalutaors

    所以,例如:

    <dataConfig>
        <function name="getPwd" class="myFoo.FetchPwd"/>
        <dataSource name="jdbc" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@//testdbserver:1521/db1" user="tester"  password="${dataimporter.functions.getPwdFromAsc}"/>
    </dataConfig>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-28
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多