【发布时间】:2019-02-05 23:54:19
【问题描述】:
我正在使用简单的用户身份验证和带有 LDAP 的 CRUD 使用 PHP 开发网站。 我在我的 AD 中设置了规则来指定哪些组可以或不能编辑其他组以及哪些属性可以编辑用户。
问题是,成功将用户绑定到AD并重定向到另一个页面后,之前绑定的会话消失了。
在身份验证之后和重定向之前,函数ldap_exop_whoami() 返回用户的DN。但是,在重定向之后,它什么也不返回。
我在another post 上表示“PHP LDAP 不支持持久连接。”这是我能够找到的唯一信息.
我需要为用户 CRUD 保留用户会话。
例如,如果用户想要编辑其密码或名字,ldap_mod_replace() 肯定会返回“Insuficient access”,因为如果没有适当的会话,ldap 可能会尝试匿名绑定.
由于这种行为,我无法创建简单的用户 CRUD 是否正常?
目前,我看到了 2 个对安全性不太友好的解决方案。
首先是存储用户认证信息并绑定到每个页面。
第二种方法是在每次有更新时以管理员身份登录。 出于安全原因,这也是错误的,它绕过了所有与用户版本有关的 AD 配置。
我应该处理这种行为吗?也许我应该使用图书馆或其他东西? 我有点迷茫,我所有的“解决方案”都不是很好,所以如果有人有提示或想法,我会很乐意接受。
谢谢。
【问题讨论】: