Imperva開源域目錄控制器,簡化活動目錄集成

Imperva已公開發布域目錄控制器(Domain Directory Controller,DDC)的源代碼,這是一個Java庫,用于簡化常見的Active Directory集成。

與Java的LdapContext不同,這個庫構建在Apache Directory LDAP之上,旨在簡化管理主/輔助服務器連接、查詢分頁和自動重連接等任務。這個庫旨在支持任意規模的組織,包括存在多個Active Directory服務器且沒有跨林信任的復雜場景。

DDC還提供了一套基于LDAP查詢語法的抽象API。這套API提供了Active Directory字段枚舉,為開發人員提供了一種簡單的方式來構建靜態類型的查詢。這種查詢的語法非常清晰:

Sentence nameAndDepSentence = queryAssembler? ? .addPhrase(FieldType.FIRST_NAME, PhraseOperator.EQUAL,\u0026quot;Gabriel\u0026quot;)? ? .addPhrase(FieldType.DEPARTMENT, PhraseOperator.EQUAL,\u0026quot;IT\u0026quot;)? ? .closeSentence(SentenceOperator.AND);Sentence countrySentence = queryAssembler? ? .addPhrase(FieldType.COUNTRY, PhraseOperator.EQUAL,\u0026quot;Italy\u0026quot;)? ? .closeSentence();Sentence finalSentence = queryAssembler? ? .addSentence(nameAndDepSentence)? ? .addSentence(countrySentence)? ? .closeSentence(SentenceOperator.OR);

不使用DDC的LDAP查詢如下所示:

(\u0026amp;(\u0026amp;(co=Italy)(department=IT)(division=Security))(|(givenName=Gabriel)(givenName=Noam)))

Darren Mar-Elia(14次獲得微軟MVP稱號,同時也是Semperis的產品負責人)解釋說,:“每個企業IT部門都希望能夠減少應用程序使用的身份標識存儲。最常見的是Active Directory、LDAP和Kerberos。”

在使用AD時,缺乏一致的API會導致其自身的問題,而且會導致AD的次優使用和應用程序的脆弱性。這個開源AD庫為那些正在尋找以一致和安全的方式將應用程序集成到AD中的標準化組織提供了極大的幫助。

這套查詢API還采取措施來緩解LDAP查詢的安全問題,例如LDAP注入(遠程攻擊者通過字符串連接來控制查找過程)。

Active Directory中的一個常見活動是用戶/用戶組解析。用戶組成員身份通常被用來確定某個用戶是否應該訪問應用程序中的某些資產或權限。隨著組織的發展,這種成員資格變得越來越復雜,因為用戶的權限變成了授權、角色和嵌套遞歸用戶組的組合。DDC通過ddc-service isMemberOf方法簡化了這種復雜的查找。在通過Spring Security或Apache Shiro等通用框架執行身份驗證之后,應用程序開發人員可以將其用于細粒度訪問控制,以便確定授權。

域目錄控制器由首席工程師Gabriel Beyo創建,可在Apache 2許可下使用。

查看英文原文:https://www.infoq.com/news/2019/02/imperva-ad-java

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388149.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388149.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388149.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2018.10.24 NOIP模擬 小 C 的序列(鏈表+數論)

傳送門 考慮到a[l],gcd(a[l],a[l1]),gcd(a[l],a[l1],a[l2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l1]),gcd(a[l],a[l1],a[l2])....gcd(a[l]...a[r])a[l],gcd(a[l],a[l1]),gcd(a[l],a[l1],a[l2])....gcd(a[l]...a[r])是可以分成最多logloglog段且段內的數都是相同的。 那么我們用…

vba數組dim_NDArray — —一個基于Java的N-Dim數組工具包

vba數組dim介紹 (Introduction) Within many development languages, there is a popular paradigm of using N-Dimensional arrays. They allow you to write numerical code that would otherwise require many levels of nested loops in only a few simple operations. Bec…

Nodejs教程08:同時處理GET/POST請求

示例代碼請訪問我的GitHub: github.com/chencl1986/… 同時處理GET/POST請求 通常在開發過程中,同一臺服務器需要接收多種類型的請求,并區分不同接口,向客戶端返回數據。 最常用的方式,就是對請求的方法、url進行區分判…

關于position的四個標簽

四個標簽是static,relative,absolute,fixed。 static 該值是正常流,并且是默認值,因此你很少看到(如果存在的話)指定該值。 relative:框的位置能夠相對于它在正常流中的位置有所偏移…

python算法和數據結構_Python中的數據結構和算法

python算法和數據結構To至 Leonardo da Vinci達芬奇(Leonardo da Vinci) 介紹 (Introduction) The purpose of this article is to give you a panorama of data structures and algorithms in Python. This topic is very important for a Data Scientist in order to help …

CSS:元素塌陷問題

2019獨角獸企業重金招聘Python工程師標準>>> 描述: 在文檔流中,父元素的高度默認是被子元素撐開的,也就是子元素多高,父元素就多高。但是當子元素設置浮動之后,子元素會完全脫離文檔流,此時將會…

Celery介紹及常見錯誤

celery 情景:用戶發起request,并等待response返回。在本些views中,可能需要執行一段耗時的程序,那么用戶就會等待很長時間,造成不好的用戶體驗,比如發送郵件、手機驗證碼等。 使用celery后,情況…

python dash_Dash是Databricks Spark后端的理想基于Python的前端

python dash📌 Learn how to deliver AI for Big Data using Dash & Databricks this recorded webinar with Peter Kim of Plotly and Prasad Kona of Databricks.this通過Plotly的Peter Kim和Databricks的Prasad Kona的網絡研討會了解如何使用Dash&#xff06…

js里的數據類型轉換

1、類型轉換 轉換為字符串 - String(x)- x.toString(x, 10)- x 轉換為數字 - Number(x)- parseInt(x, 10) - parseFloat(x) - x - 0- x 轉換為boolean - Boolean(x)- !!x 2、falsy值(false) - 0- NaN- - null- undefined 3、內存圖 - object存儲的是地址…

Eclipse 插件開發遇到問題心得總結

Eclipse 插件開發遇到問題心得總結 Posted on 2011-07-17 00:51 季楓 閱讀(3997) 評論(0) 編輯 收藏1、Eclipse 中插件開發多語言的實現 為了使用 .properties 文件,需要在 META-INF/MANIFEST.MF 文件中定義: Bundle-Localization: plugin 這樣就會…

/src/applicationContext.xml

<?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:context"http://www.springframework.org/schema…

在Python中查找子字符串索引的5種方法

在Python中查找字符串中子字符串索引的5種方法 (5 Ways to Find the Index of a Substring in Strings in Python) str.find() str.find() str.rfind() str.rfind() str.index() str.index() str.rindex() str.rindex() re.search() re.search() str.find() (str.find()) …

[LeetCode] 3. Longest Substring Without Repeating Characters 題解

問題描述 輸入一個字符串&#xff0c;找到其中最長的不重復子串 例1&#xff1a; 輸入&#xff1a;"abcabcbb" 輸出&#xff1a;3 解釋&#xff1a;最長非重復子串為"abc" 復制代碼例2&#xff1a; 輸入&#xff1a;"bbbbb" 輸出&#xff1a;1 解…

WPF中MVVM模式的 Event 處理

WPF的有些UI元素有Command屬性可以直接實現綁定&#xff0c;如Button 但是很多Event的觸發如何綁定到ViewModel中的Command呢&#xff1f; 答案就是使用EventTrigger可以實現。 繼續上一篇對Slider的研究&#xff0c;在View中修改Interaction. <i:Interaction.Triggers>&…

Eclipse 插件開發 向導

閱讀目錄 最近由于特殊需要&#xff0c;開始學習插件開發。   下面就直接弄一個簡單的插件吧!   1 新建一個插件工程   2 創建自己的插件名字&#xff0c;這個名字最好特殊一點&#xff0c;一遍融合到eclipse的時候&#xff0c;不會發生沖突。   3 下一步&#xff0c;進…

線性回歸 假設_線性回歸的假設

線性回歸 假設Linear Regression is the bicycle of regression models. It’s simple yet incredibly useful. It can be used in a variety of domains. It has a nice closed formed solution, which makes model training a super-fast non-iterative process.線性回歸是回…

ES6模塊與commonJS模塊的差異

參考&#xff1a; 前端模塊化 ES6 在語言標準的層面上&#xff0c;實現了模塊功能&#xff0c;而且實現得相當簡單&#xff0c;旨在成為瀏覽器和服務器通用的模塊解決方案。 其模塊功能主要由兩個命令構成&#xff1a;export和import。export命令用于規定模塊的對外接口&#x…

solo

solo - 必應詞典 美[so?lo?]英[s??l??]n.【樂】獨奏(曲)&#xff1b;獨唱(曲)&#xff1b;單人舞&#xff1b;單獨表演adj.獨唱[奏]的&#xff1b;單獨的&#xff1b;單人的v.獨奏&#xff1b;放單飛adv.獨網絡梭羅&#xff1b;獨奏曲&#xff1b;索羅變形復數&#xff1…

Eclipse 簡介和插件開發天氣預報

Eclipse 簡介和插件開發 Eclipse 是一個很讓人著迷的開發環境&#xff0c;它提供的核心框架和可擴展的插件機制給廣大的程序員提供了無限的想象和創造空間。目前網上流傳相當豐富且全面的開發工具方面的插件&#xff0c;但是 Eclipse 已經超越了開發環境的概念&#xff0c;可以…

趣味數據故事_壞數據的好故事

趣味數據故事Meet Julia. She’s a data engineer. Julia is responsible for ensuring that your data warehouses and lakes don’t turn into data swamps, and that, generally speaking, your data pipelines are in good working order.中號 EETJulia。 她是一名數據工程…