2017-10-06 175 views
0

我已经通过遵循其参考指南部署了具有基本身份验证的Apache Solr 6.6.1。最后他们讨论了如何在安全性方面使用卷曲。对于我的情况,我正在使用REST API来查询SOLR。 由于基本身份验证我正在使用此查询。 https://user:[email protected]/solr/ ... 这样我的用户& paswd会暴露。我想知道最安全的方法使用REST API的基本身份验证,这将不会暴露给外部世界。在Solr中使用REST进行基本身份验证6.6.1

回答

0

正如你可以看到here

使用这些网址被弃用。在Chrome中,出于安全原因,甚至将URL中的用户名:password @ 部分删除。在Firefox中,如果网站实际需要身份验证,则会检查它是否为 ,如果不是,则Firefox会通过提示“您将用用户名”username“登录到 网站”www.example.com“ ,但是 网站不需要认证,这可能是你试图欺骗你。“

您不必暴露在你的网址,你应该增加一个“授权”头对您的请求。该值将在Base64中编码为“用户名:密码”,这是不安全的,但由于您使用的是https,因此它将受到保护。

标题的完整值将类似于“Basic dXNlcm5hbWU6cGFzc3dvcmQ =”。它由认证类型(“Basic”)加上一个空白加上在Base64中编码的“username:password”的值组成。

+0

你能否给我提供一个这样的例子? 如何形成这个(“基本dXNlcm5hbWU6cGFzc3dvcmQ =”)编码值并在https请求中使用它。 ? –

+0

这取决于你想要它。当您将身份验证设置为基本并提供凭据时,许多Rest客户端(PostMan,ARC,...)会自动执行此操作。在Java中,你可以用这样的东西来构建一个http客户端:https://stackoverflow.com/a/3283496/4891223 –

+0

我想用它作为我们提供给浏览器地址栏的url,它应该返回数据而不提示登录。我想要一个完整的URL格式,它具有基本身份验证用户&pswd,但以编码形式。 –

相关问题