【问题标题】:LDAP Authentication CGILDAP 认证 CGI
【发布时间】:2012-10-09 02:08:04
【问题描述】:

我有一个简单的网页部署到 tomcat,它根据用户选择运行某些 shell 脚本。这些页面是用 html 和 cgi/perl 编写的。

我们已经有一个工作的 ldap 服务器和目录。我需要能够为我创建的网页添加安全性,以便用户在尝试访问主页或任何子页面时被要求使用他们的 ldap 帐户登录。

如何将 ldap 身份验证添加到我的网页?

请非常具体,因为我对所有这些都是新手。包括代码的分步说明将不胜感激。谢谢你

我在google上做了很多研究,但是所有的解决方案都是通用的,我不知道从哪里开始。

这是一篇好文章,但我不确定我应该将与 ldap 的连接和绑定(我的哪些页面)放在哪里?如何确保身份验证也适用于子页面或将来创建的任何其他页面?

http://www.perlmonks.org/?node_id=32196

干杯

【问题讨论】:

    标签: perl unix tomcat ldap cgi


    【解决方案1】:

    这是一篇好文章,但我不确定我的连接应该放在哪里 到 ldap 和绑定(我的哪些页面)?我如何确保 身份验证也将适用于子页面,或任何其他页面 未来创造?

    您现在正在为您的应用添加状态。您最初可能会考虑在 tomcat 中实现身份验证 (authn) 和授权 (authz),而不是在您的应用中。

    如果您决定不在 tomcat 中实现,而选择在 perl 中实现,那么您刚刚决定为您的应用程序添加状态,这意味着您需要添加某种会话处理。看看 CGI::Session,CPAN 上还有很多其他的会话处理模块。避免使用 Apache::Session。如果事务运行时间长,它的锁处理可能会导致很多痛苦。在 cookie 中使用会话密钥。通过 SSL 发送所有内容。如果你不使用 SSL,那么破解者可以拦截你的会话密钥,然后劫持会话。

    设置完会话基础架构后,您需要创建登录机制,通常是带有用户名和密码的表单。当提交该表单时,其背后的 CGI 会对密码进行魔法加密,然后进行 LDAP 舞蹈:

    1. 连接到目录服务器没有连接已经存在。

    2a。匿名或作为应用用户绑定到服务器,通过CN搜索用户,使用DN和密码绑定为用户

    2b。从用户名计算 DN,与 DN 和密码绑定。

    通常,第 3 步是检查用户记录中的某些授权指示符,它可能是是/否访问指示符,也可能是角色或权限列表。

    如果用户成功通过身份验证和授权,则将一些授权信息写入用户的会话。

    然后,您应用的每个后续页面都将检查用户是否已登录和/或是否具有使用该页面的适当授权。如果未经授权,您可以将他们发送回登录后登录页面,如果他们未登录,您可以将其发送回登录页面。

    基本上,您只需将通常的“查询数据库的用户表”替换为对 LDAP 到目录服务器的查询。

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2017-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多