999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LDAP協議的Solr用戶認證設計與實現

2020-12-30 11:22:07吳科樺張藝夕
網絡安全技術與應用 2020年5期
關鍵詞:用戶服務

◆吳科樺 張藝夕

基于LDAP協議的Solr用戶認證設計與實現

◆吳科樺1張藝夕2

(1.南京中興新軟件有限責任公司 江蘇 210000;2.南京掌控網絡科技有限公司 江蘇 210000)

本文針對Solr的用戶基本認證方式進行了改進,提出了一種基于LDAP協議的Solr用戶認證方案,并給出了設計方案和具體實現。該方案實現了用戶認證的統一管理,提高了集群系統的可靠性、安全性和性能。

認證;LDAP;Solr

1 Solr概述

Solr是一款用Java開發、基于Lucene的高性能全文搜索服務,在Lucene基礎上對其進行了擴展,提供了比其更為豐富的查詢語言,支持可配置和可擴展并對查詢性能進行了優化,同時它提供了一個完善的功能管理界面,是一款非常優秀的全文搜索服務。SolrCloud是Solr提供的分布式高可用部署架構,一個SolrCloud集群可以包含多個Solr服務節點和一套Zookeeper集群。其中Zookeeper集群用于存儲SolrCloud集群的元數據信息,Solr客戶端可以通過Zookeeper集群連接到Solr服務器集群。

Solr擁有支持用戶身份驗證和授權的安全框架。這允許驗證用戶的身份并限制對SolrCloud集群中的資源的訪問。在用戶認證方面,SolrCloud集群可以支持用戶使用BasicAuthPlugin內置插件進行基本身份驗證,即簡單的用戶名和密碼認證。

使用基本身份驗證,必須先創建一個security.json文件,然后在security.json文件中配置一個authentication部分,其中定義一個用于基本身份驗證的“solr.BasicAuthPlugin”插件類,然后在創建文件時預置用戶名和密碼(例如:sha256(password+salt) hash),security.json文件內容如下所示:

"authentication":{

"blockUnknown": true,

"class":"solr.BasicAuthPlugin",

"credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0= Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}

}

或者可以稍后使用基本驗證API添加用戶名和密碼。配置完security.json文件,需要上傳到Zookeeper中,完成SolrCloud集群的基本身份認證控制。

2 原生缺陷

從技術上來講,原生Solr提供的基本身份認證方式,需通過修改并上傳security.json配置文件或通過調用API命令來執行用戶名與密碼的增刪改操作,這種操作方式使用煩瑣、不便,極易出錯,且安全度較低。

此外,當今企業大數據應用集群部署的組件繁多,為了便于統一管理,全網各組件都需要使用同一份用戶信息庫。而目前原生Solr提供的這種基本身份認證方式是將用戶名、密碼保存在ZooKeeper的security.json文件中進行統一管理,即Solr自己維護了一個Solr用戶管理模塊,該模塊無法方便地與其他組件共享用戶信息庫同步數據。

3 改進設計

基于以上缺點,本文提出了一種基于LDAP協議的Solr用戶認證的設計方案。

LDAP是一款輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP),屬于開源集中賬號管理架構的實現,支持眾多系統版本。LDAP提供并實現目錄服務的信息服務,目錄服務是一種特殊的數據庫系統,對于數據的讀取、瀏覽、搜索有很高的性能。目錄服務一般用來包含基于屬性的描述性信息并支持精細復雜的過濾功能,對搜索有很好的效果。

OpenLDAP則是一種基于LDAP協議的開源實現,OpenLDAP 服務器本質上是一個為只讀訪問而優化的非關系型數據庫。它主要用作地址簿查詢(如email客戶端)或對各種服務訪問做后臺認證以及用戶數據權限管控。

因為Openldap具有高效的檢索性能,以及支持復雜的過濾功能,所以很多公司和企業都將OpenLDAP作為各自系統統一的用戶管理服務器,他們將用戶和信息保存在LDAP服務器中,并建立了用戶與組的映射關系。

因此本文將原生SolrCloud的用戶管理部分基于LDAP協議重新實現,使用OpenLDAP來存儲Solr的用戶和組信息。

具體設計流程如下:

(1)Solr客戶端向Solr服務端進行操作請求;

(2)Solr服務端將請求中的用戶名和密碼加密發送至LDAP服務端進行驗證;

(3)驗證通過,則說明該操作的用戶合法,用戶認證通過;反之,用戶不合法,不允許操作繼續進行。

同時考慮到LDAP服務器的高可用性,我們設計了兩臺LDAP服務器進行雙主配置,保證了用戶數據進行LDAP認證的可靠性。

4 改進實現

下面我們具體實現基于LDAP協議的Solr用戶認證方案。

(1)搭建LDAP Server雙主服務器。

(2)構造基于LDAP協議的Solr用戶認證插件LDAPAuthPlugin。

通過研究Solr源碼可以得知,所有的用戶認證方式都是基于AuthenticationPlugin抽象類來實現的,因此我們可以構造一個基于LDAP協議的Solr用戶認證插件LDAPAuthPlugin。

package org.apache.solr.security;

import java.io.IOException;

import java.util.Map;

import javax.servlet.FilterChain;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

public class LDAPAuthPlugin extends AuthenticationPlugin {

@Override

public void close() throws IOException {

//此處設置斷開LDAP服務器的代碼

}

@Override

public void init(Map pluginConfig) {

//此處設置連接LDAP服務器的代碼

}

@Override

public boolean doAuthenticate(ServletRequest request, ServletResponse response, FilterChain filterChain)

throws Exception {

//此處獲取request請求中的用戶名和密碼,然后向LDAP服務器請求用戶認證。

//LDAP服務器認證通過,則返回true;反之,返回false。

//如LDAP服務器異常,則直接返回false。

return false;

}

}

(3)將基于LDAP協議認證的Solr用戶認證插件注冊到Solr安全管理文件security.json中。

"authentication":{

"blockUnknown": true,

"class":"solr.LDAPAuthPlugin"

}

(4)配置完security.json文件,需要上傳到Zookeeper中,并重啟Solr集群所有服務器。

經過以上各個步驟,即可實現基于LDAP協議的Solr用戶認證功能,進而實現用戶認證的統一管理,以提高集群系統的可靠性、安全性和性能。

[1]Trey Grainger,Timothy Potter.Solr實戰.電子工業出版社,2016.

猜你喜歡
用戶服務
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
主站蜘蛛池模板: 香蕉在线视频网站| 久久精品人人做人人| 亚洲一级色| 综合色区亚洲熟妇在线| 日本a级免费| 精品第一国产综合精品Aⅴ| 欧美日韩国产精品va| 成人国产免费| 色婷婷在线影院| 久综合日韩| 婷婷色在线视频| 日日噜噜夜夜狠狠视频| 日韩欧美中文字幕一本| 国产一区二区精品福利| 91亚洲精品国产自在现线| 老司机精品久久| 成人福利在线观看| 福利一区在线| 久久综合伊人77777| 91精品亚洲| 成人91在线| 国产成人a毛片在线| 欧美一级在线看| 污网站在线观看视频| 99精品免费欧美成人小视频| 日韩精品一区二区三区免费| 午夜爽爽视频| 国产伦精品一区二区三区视频优播| 伊人色在线视频| 久久五月天综合| 日韩美一区二区| 最新国产成人剧情在线播放| 婷婷激情五月网| 中文字幕人妻av一区二区| 丁香婷婷综合激情| 黄片在线永久| 美女一级毛片无遮挡内谢| 精品国产污污免费网站| 手机在线看片不卡中文字幕| 亚洲国产欧洲精品路线久久| 亚洲美女一区二区三区| 久久午夜夜伦鲁鲁片不卡| 欧美午夜在线观看| 一本色道久久88| 久久99热这里只有精品免费看| 日本不卡在线播放| 亚洲中文无码h在线观看| 国产精品黄色片| 日本久久网站| 国产97公开成人免费视频| 蜜桃视频一区二区| 成年av福利永久免费观看| 亚洲人成日本在线观看| 制服丝袜一区| 亚洲三级成人| 中文精品久久久久国产网址| 成人午夜视频在线| 国产亚洲精品精品精品| 91娇喘视频| 国产最新无码专区在线| 在线va视频| 亚洲va欧美va国产综合下载| 成年A级毛片| 夜精品a一区二区三区| 97超级碰碰碰碰精品| 日韩在线网址| 精品综合久久久久久97超人该| 四虎影视无码永久免费观看| 国产欧美日韩精品第二区| 日本色综合网| 另类专区亚洲| 国产午夜福利在线小视频| a在线亚洲男人的天堂试看| 亚洲视频一区| 亚洲天堂久久新| 日韩午夜福利在线观看| 国产成人超碰无码| 99在线国产| 欧美日韩亚洲综合在线观看| 日本福利视频网站| 国产一区二区三区免费观看| 欧洲精品视频在线观看|