【问题标题】:Difference between Zend_auth & Zend_acl?Zend_auth 和 Zend_acl 的区别?
【发布时间】:2012-07-14 11:57:24
【问题描述】:

我在我的一个项目中使用 Zend Framework,而且我对 Zend Framework 很陌生。 你能告诉我Aend_AuthZend_Acl的区别吗?

【问题讨论】:

    标签: zend-framework authentication authorization zend-auth zend-acl


    【解决方案1】:

    a) 参加考试时,您必须随身携带带有卷号(密码)的考试票。没有它你不能进入考场里面。所以考试票验证了你的身份,让你坐在考场上。 (Zend_Auth)

    b)考试期间你没有权限打开书本,请朋友帮忙或使用手机,但可以用水壶喝水。这些基本上是对你强制执行的规则。 (在 Zend 中,这些规则是使用 Zend_Acl 编写的)

    【讨论】:

      【解决方案2】:

      如果您查看操作系统,您不仅可以登录,还可以使用简单目录或文件安全(读/写/执行)等安全功能。

      您必须使用 Zend_Auth 来处理所有登录活动。请注意,虽然 Zend_Auth 不允许或拒绝访问,但它只是进行一些涉及登录过程的管理,如会话管理。这在操作系统中通常是相同的,但在后台您有一个安全设置,可以授予您访问桌面或远程的权限。

      安全最终是“访问控制列表”的责任。使用 Zend_Acl,您可以通过各种方式处理 Web 应用程序的所有安全问题。

      【讨论】:

        【解决方案3】:

        您应该首先区分身份验证授权。身份验证正在检查凭据(例如用户名和密码)是否有效。授权正在检查用户的角色(例如管理员或用户)。授权是在认证之后完成的。 Zend_Auth 是认证过程。 Zend_Acl 是授权过程。

        请参考:http://en.wikipedia.org/wiki/AAA_protocol

        【讨论】:

          【解决方案4】:

          Zend_Auth - 检查存储在数据库中的登录名和密码,并将用户数据保存在会话/注册表中

          Zend_Acl - 让某些用户访问某些页面(例如,用户 admin 可以访问 'admin' 控制器)

          【讨论】:

            【解决方案5】:

            Zend Auth 用于对最终用户进行身份验证,它处理登录和会话管理,而 zend acl 则不同。您可以指定登录用户的角色,例如 admin 、 manager 、 customer atc 。我更喜欢查看 zend 文档以获取更多信息。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-01-04
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多