【AICon】硅谷视野+中国实践,汇聚全球顶尖技术的 AI 科技盛会 >>> 了解详情
写点什么

Imperva 开源域目录控制器,简化活动目录集成

  • 2019-02-28
  • 本文字数:1082 字

    阅读完需:约 4 分钟

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,"Gabriel")    .addPhrase(FieldType.DEPARTMENT, PhraseOperator.EQUAL,"IT")    .closeSentence(SentenceOperator.AND);Sentence countrySentence = queryAssembler    .addPhrase(FieldType.COUNTRY, PhraseOperator.EQUAL,"Italy")    .closeSentence();Sentence finalSentence = queryAssembler    .addSentence(nameAndDepSentence)    .addSentence(countrySentence)    .closeSentence(SentenceOperator.OR);
复制代码


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


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


2019-02-28 08:005138
用户头像

发布了 731 篇内容, 共 435.1 次阅读, 收获喜欢 1998 次。

关注

评论

发布
暂无评论
发现更多内容

如何將私有的 JAR 檔加入到由 Apache Maven 管理的 Java 專案中

Java-fenn

Java

SAP 电商云 Spartacus UI 有状态 的 url 和 title 属性的赋值代码

Jerry Wang

angular SAP SAP UI5 Spartacus 9月月更

全面吃透JAVA Stream流操作,让代码更加的优雅

Java-fenn

Java

详谈 MySQL 8.0 原子 DDL 原理

RadonDB

MySQL 数据库

ShareSDK Android端渠道下载统计配置说明

MobTech袤博科技

android sdk

Java 网络编程之 InetAddress 类详解,URL 和 URI 的区别,URLDecoder 和 URLEncoder,IPv6 和 IP...

Java-fenn

Java

java培训班选择哪些比较好呢

小谷哥

基础差在web培训班学习前端技术有合适吗

小谷哥

java学习技术有哪些好的方法呢?

小谷哥

Java开发学习(三十一)----Maven属性与版本管理

Java-fenn

Java

云堡垒机和信创堡垒机主要区别讲解

行云管家

云计算 信创 堡垒机 云堡垒机

抖音二面:计算机网络-应用层

Java快了!

计算机网络

终于有人把不同标签的加工内容与落库讲明白了丨DTVision分析洞察篇

袋鼠云数栈

面试官:如何设计一个短链服务?

Java永远的神

Java 程序员 面试 程序人生 后端

跟我一起学mybatis之注解开发

楠羽

mybatis 笔记 9月月更

雪上加霜,运维部门裁员后,中了勒索病毒……

嘉为蓝鲸

运维 故障 病毒 变更

Java基于JSP+Servlet的社区出入健康登记系统

Java-fenn

Java

大数据培训机构怎么选择

小谷哥

阿里巴巴数字商业知识图谱的构建及应用

阿里技术

人工智能 机器学习 知识图谱

Java&C++题解与拓展——leetcode667.优美的排列 II【++在java和C++中的差异】

Java-fenn

Java

如何选择靠谱且适合自己的web前端培训课程

小谷哥

传统BI需要一次新的「革命」

ToB行业头条

Java面试题之IO流

Java-fenn

Java

Java 序列化时间

Java-fenn

Java

Java基础 | Java中引用与指针的关系

Java-fenn

Java

【HTML-CSS】总结-6种实现元素 上下左右居中 方法--附演示效果

Sam9029

CSS html 前端 9月月更 水平垂直居中

开源交流丨一站式大数据平台运维管家ChengYing安装原理剖析

袋鼠云数栈

Java 将Excel转为UOS

Java-fenn

Java

2022年7月互联网医疗领域月度观察

易观分析

行业报告 互联网医疗

2021年中国人工智能软件及服务市场规模超千亿,认知智能增速显著

易观分析

人工智能

【联通】数据编排技术在联通的应用

Alluxio

中国联通 Alluxio 大数据 开源 数据编排 9月月更

Imperva开源域目录控制器,简化活动目录集成_语言 & 开发_Erik Costlow_InfoQ精选文章