Web applications LDAP:Web应用程序和RBAC

Web applications LDAP:Web应用程序和RBAC,web-applications,https,ldap,rbac,Web Applications,Https,Ldap,Rbac,我对LDAP工作方式的理解是,如果我错了,请纠正我,用户可以从他的计算机登录到LDAP并访问一组web应用程序,前提是他有这样做的权限并且凭据匹配 我正在创建一个web应用程序,并希望使用LDAP对其进行配置。因此,基于我的客户机,我应该使用LDAP API,并确保他拥有这样做所需的权限。然后 LDAP是否也向我提供了登录到我的web应用程序的用户。在这种情况下,我可以与我的RBAC通信,并确定他拥有哪些权限 另外,LDAP是否以纯文本格式将其用户名和密码传递给我的web应用程序 我的web应

我对LDAP工作方式的理解是,如果我错了,请纠正我,用户可以从他的计算机登录到LDAP并访问一组web应用程序,前提是他有这样做的权限并且凭据匹配

我正在创建一个web应用程序,并希望使用LDAP对其进行配置。因此,基于我的客户机,我应该使用LDAP API,并确保他拥有这样做所需的权限。然后

  • LDAP是否也向我提供了登录到我的web应用程序的用户。在这种情况下,我可以与我的RBAC通信,并确定他拥有哪些权限
  • 另外,LDAP是否以纯文本格式将其用户名和密码传递给我的web应用程序
  • 我的web应用程序如何确保他是他声称的那个人(交叉检查他的用户名和密码)。HTTPS有助于明文密码通信,但它真的那么安全吗

    • 你把几件事搞混了

      • 身份验证不同于授权
        • 身份验证是关于证明某人的某些东西,通常是证明某人的身份。我是鲍勃,因为我知道我的用户名和密码
        • 授权是确定您将授予Bob的访问级别。有不同的授权(访问控制)范例。RBAC和ABAC是最流行的两种。RBAC使用角色、组和权限来确定用户是否应该获得访问权限。ABAC使用属性和策略
      • LDAP不是身份验证机制,也不是授权机制。LDAP是一个用户目录。它包含有关用户的信息,通常包括用户名、全名、电子邮件、密码、组成员身份、角色信息等。。。存在标准化的LDAP对象,例如inetOrgPerson
      应用程序(任何类型的应用程序)使用不同的身份验证技术。在JavaWeb世界中,有一种称为JAAS的东西

      Java身份验证和授权服务(JAAS)是一组应用程序接口(API),可以确定试图运行Java代码的用户或计算机的身份,并确保实体具有执行请求的功能的特权或权限。。。(维基百科)

      在.NET中,您有一个名为WCF的框架,该框架有一个关于的专用部分

      记住这一点,让我们回到你的问题上来。如果您有一个Java web应用程序,并且使用LDAP作为用户目录,那么您很可能会实现 通过JAAS在应用程序和LDAP之间集成

      LDAP会向您的应用程序发送密码吗?不,永远不会,那是个糟糕的主意。顺便说一下,希望LDAP不会将密码存储在clear中。通常,密码是单向加密(散列)的,即无法从加密值中检索密码值

      那么,LDAP(通过JAAS)能告诉您什么呢

      • 用户名/密码组合是否有效
      • 用户有哪些角色
      • 用户拥有哪些组
      • 或者更多。一旦知道了用户的ID(或LDAP术语中的DN),就可以查询LDAP以获取更多属性
      最后一件事。通常,身份验证(和授权)不是由应用程序直接处理的,而是由应用程序的容器处理的。如果您编写一个Java web应用程序,很可能会在ApacheTomcat中运行它。Tomcat附带JAAS,并与Tomcat的内部用户存储以及其他存储(例如LDAP或数据库)进行了本机集成

      所以你的第一个问题应该是:我用什么语言编写应用程序?我将如何运行它?我有免费的东西吗


      下面是一个关于保护Java web应用程序安全的示例。

      您混淆了几件事

      • 身份验证不同于授权
        • 身份验证是关于证明某人的某些东西,通常是证明某人的身份。我是鲍勃,因为我知道我的用户名和密码
        • 授权是确定您将授予Bob的访问级别。有不同的授权(访问控制)范例。RBAC和ABAC是最流行的两种。RBAC使用角色、组和权限来确定用户是否应该获得访问权限。ABAC使用属性和策略
      • LDAP不是身份验证机制,也不是授权机制。LDAP是一个用户目录。它包含有关用户的信息,通常包括用户名、全名、电子邮件、密码、组成员身份、角色信息等。。。存在标准化的LDAP对象,例如inetOrgPerson
      应用程序(任何类型的应用程序)使用不同的身份验证技术。在JavaWeb世界中,有一种称为JAAS的东西

      Java身份验证和授权服务(JAAS)是一组应用程序接口(API),可以确定试图运行Java代码的用户或计算机的身份,并确保实体具有执行请求的功能的特权或权限。。。(维基百科)

      在.NET中,您有一个名为WCF的框架,该框架有一个关于的专用部分

      记住这一点,让我们回到你的问题上来。如果您有一个Java web应用程序,并且使用LDAP作为用户目录,那么您很可能会实现 通过JAAS在应用程序和LDAP之间集成

      LDAP会向您的应用程序发送密码吗?不,永远不会,那是个糟糕的主意。顺便说一下,希望LDAP不会将密码存储在clear中。通常,密码是单向加密(散列)的,即无法从加密值中检索密码值

      那么,LDAP(通过JAAS)能告诉您什么呢

      • 用户名/密码组合是否有效
      • 用户有哪些角色
      • 用户拥有哪些组
      • 或者更多。知道用户ID(或LDAP术语中的DN)后,可以查询LDAP以获取更多属性