【发布时间】:2009-07-27 23:36:55
【问题描述】:
我正在尝试提出一种进行身份验证和授权的好方法。这就是我所拥有的。欢迎评论和我的期望。
我在 mac 服务器上有 php。 我有用于用户帐户的 Microsoft AD。
我在用户登录内网时使用LDAP查询AD。
我的设计问题涉及如何处理该广告信息。一位同事建议在 AD 中使用命名约定以避免中间数据库。例如,我有一个网页,personal_payroll.php。我得到了 URL,并使用 URL 和 AD 用户在 AD 中查询组personal_payroll。如果登录的用户在该组中,则他们有权查看该页面。对于通用身份验证,我必须为每个页面或至少用户域用户设置一个组。
页面上的控件变得更加棘手。例如,假设页面或网格上有一个按钮,只有管理员才能看到。我需要personal_payroll_myButton 作为我的AD 中的一个组。如果用户在该组中,他们将获得按钮。如果一个页面有几个不同级别的授权,我可以有很多组。
是的,我的 AD 会很大,但如果我不这样做,其他东西会,无论是 MySQL(或其他一些 db)、文本文件、httpd.conf 等等。
对于传递 url 或控件名称和经过身份验证的用户的各种项目,我会有一个通用的 php 函数 IsAuthorized。
使用这样的安全命名约定并将 AD 用作该存储库是否存在固有的错误?我必须保留在某个地方。为什么不是广告?
感谢cmets。
编辑:你认为这个方案会因为 LDAP 调用而导致页面超级慢吗?
编辑:我不可能是第一个想到这一点的人。对此的任何想法表示赞赏。
编辑:谢谢大家。很抱歉,我不能给大家更多的分数来回答。我必须选择一个。
【问题讨论】:
标签: security active-directory ldap authorization