如果我要关注What should a developer know before building a public web site?关于身份验证,那么我有哪些选择?
我从来没有用过PEAR,我也不打算开始。我读过 phpGALC但还没有尝试过。
身份验证后,权限/访问级别开始生效。我不太喜欢使用单个 tinyint 值来决定用户可以做什么和不能做什么,而且它不是很灵活。我最近编写了一个部分系统,我在其中指定了每种用户类型可以访问的访问类型,但是还有更好的吗?
如果你想要一门语言,那么 PHP5。
最佳答案
身份验证相当简单。通过 ACL 或其他方式进行的授权可能很复杂。
身份验证通常只是将用户名和密码与存储的凭据相匹配。只需使用 SSL 和使用盐的散列密码。
授权可能很棘手,解决方案取决于您的要求。您可以尝试 PhpGALC 和 Zend Framework ACL 组件。这两个选项都有角色、资源和可选权限,尽管它们的名称都不同。 Zend ACL 更简单、更通用(规则可以简单地在代码中定义,不需要数据库)。如果您的角色、资源和权限不是静态的,那么对于 Zend ACL,您将不得不编写代码来从您的数据存储中填充 ACL。 phpGALC 的一大优点是它有一个 web GUI。我发现 GUI 很笨拙,但除非您真正了解您的 ACL,否则考虑到角色和资源继承等 ACL 的复杂性,直接在数据库中进行更改可能很危险。请记住,Zend ACL 可以单独使用,除了 Zend Exception 之外没有任何其他 Zend Framework 依赖项。
关于php - 用户认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424232/