加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用授权将带有太阳黑子的rails应用程序连接到

发布时间:2020-12-17 02:52:11 所属栏目:百科 来源:网络整理
导读:好的,所以我有一个单独的服务器与solr,这与应用程序完全正常.使用通常的sunspot.yml我们有类似的东西: production: solr: hostname: domain port: 8080 log_level: WARNING path: path/to/data 问题是我想授权我的tomcat应用程序.看来只要你知道域名和端口
好的,所以我有一个单独的服务器与solr,这与应用程序完全正常.使用通常的sunspot.yml我们有类似的东西:

production:
  solr:
    hostname: domain
    port: 8080
    log_level: WARNING
    path: path/to/data

问题是我想授权我的tomcat应用程序.看来只要你知道域名和端口就可以去访问solr / admin.所以在我的tomcat web.xml中我添加了:

<security-constraint>
    <web-resource-collection>
      <web-resource-name> 
        Solr authenticated application
      </web-resource-name>
      <url-pattern>/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
    </web-resource-collection>
    <auth-constraint>
      <role-name>role</role-name>
    </auth-constraint>
  </security-constraint>
   <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>REALM</realm-name>
  </login-config>
  <security-role>
    <description>ROLE NAME</description>
    <role-name>role</role-name>
  </security-role>

这将要求任何人在被授予访问权限之前访问solr / admin用户名和密码.问题是如何告诉我的rails应用程序?执行此操作后,当我的rails应用程序尝试访问solr服务器时,我得到了预期的“未授权”响应.我知道它可能会进入sunspot.yml文件,但我需要添加什么?

解决方法

我不确定Sunspot配置是否通过YAML支持Basic Auth用户名和密码.这些选项都连接在一起,分配给Sunspot.config.solr.url,然后提供给RSolr.这是一个简单的疏忽 – 欢迎 https://github.com/outoftime/sunspot的拉动请求来解决这个问题.

您可以更好地在初始化程序中直接分配Sunspot.config.solr.url,或者通过环境变量指定URL. Sunspot支持SOLR_URL和WEBSOLR_URL环境变量,这样做应保留Basic Auth用户名和密码.

要在开发环境中测试它:

rake sunspot:reindex SOLR_URL=http://admin:foobar@localhost:8983/solr
rails server SOLR_URL=http://admin:foobar@localhost:8983/solr

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读