我理解LDAP的工作方式之一是,如果我错了,请纠正我,用户可以从他的计算机登录并访问一堆Web应用程序,只要他有权这样做并且凭证匹配。
我正在创建一个Web应用程序,我想用LDAP配置它。因此,我应该根据我的客户端使用LDAP API并确保他具有所需的权限。然后
答案 0 :(得分:0)
你混淆了几件事。
应用程序(任何类型的应用程序)使用不同的身份验证技术。在Java Web世界中,有一种叫做JAAS的东西。
Java身份验证和授权服务(JAAS)是一组应用程序接口(API),可以确定尝试运行Java代码的用户或计算机的身份,并确保该实体具有执行的权限或权限要求的功能......(维基百科)
在.NET中,您有一个名为WCF的框架,该框架在security上有专门的部分。
考虑到这一点,让我们回到你的问题。如果您有一个Java Web应用程序,并且您使用LDAP作为用户目录,那么您很可能会实现 通过JAAS在您的应用程序和LDAP之间进行集成。
LDAP会向您的应用发送密码吗? NOOOOOOOO永远不会,这将是一个可怕的想法。希望顺便说一下,您的LDAP不会以明文形式存储密码。通常,密码将是单向加密的(散列),即无法从加密值中检索密码的值。
那么,LDAP(通过JAAS)可以告诉你什么?
最后一件事。通常,身份验证(和授权)不是由应用程序直接处理,而是由应用程序的容器直接处理。如果您编写Java Web应用程序,很可能您将在Apache Tomcat中运行它。 Tomcat附带JAAS,并与Tomcat的内部用户存储以及其他用户存储(例如,LDAP或数据库)进行本机集成。
所以你的第一个问题应该是:我在编写应用程序的语言是什么?我该怎么办呢?我可以免费获得任何东西吗?
这是保护Java Web应用程序的old Oracle tutorial。
答案 1 :(得分:0)
LDAP是用于查询AD和其他支持用户目录中的项目的协议。它是传达AD用户并因此进行身份验证的媒介。通过身份验证后,您可以检查用户的授权。在任何应用程序上实施RBAC包括身份验证,授权和审计。
通过LDAP,您可以使用或不使用密码(如果是当前用户)来通信和验证AD用户。它可能并非在所有平台上都受支持,因此请检查操作系统上的用户目录是否支持LDAP进行通信。