【发布时间】:2012-07-14 11:57:24
【问题描述】:
我在我的一个项目中使用 Zend Framework,而且我对 Zend Framework 很陌生。
你能告诉我Aend_Auth和Zend_Acl的区别吗?
【问题讨论】:
标签: zend-framework authentication authorization zend-auth zend-acl
我在我的一个项目中使用 Zend Framework,而且我对 Zend Framework 很陌生。
你能告诉我Aend_Auth和Zend_Acl的区别吗?
【问题讨论】:
标签: zend-framework authentication authorization zend-auth zend-acl
a) 参加考试时,您必须随身携带带有卷号(密码)的考试票。没有它你不能进入考场里面。所以考试票验证了你的身份,让你坐在考场上。 (Zend_Auth)
b)考试期间你没有权限打开书本,请朋友帮忙或使用手机,但可以用水壶喝水。这些基本上是对你强制执行的规则。 (在 Zend 中,这些规则是使用 Zend_Acl 编写的)
【讨论】:
如果您查看操作系统,您不仅可以登录,还可以使用简单目录或文件安全(读/写/执行)等安全功能。
您必须使用 Zend_Auth 来处理所有登录活动。请注意,虽然 Zend_Auth 不允许或拒绝访问,但它只是进行一些涉及登录过程的管理,如会话管理。这在操作系统中通常是相同的,但在后台您有一个安全设置,可以授予您访问桌面或远程的权限。
安全最终是“访问控制列表”的责任。使用 Zend_Acl,您可以通过各种方式处理 Web 应用程序的所有安全问题。
【讨论】:
您应该首先区分身份验证和授权。身份验证正在检查凭据(例如用户名和密码)是否有效。授权正在检查用户的角色(例如管理员或用户)。授权是在认证之后完成的。 Zend_Auth 是认证过程。 Zend_Acl 是授权过程。
【讨论】:
Zend_Auth - 检查存储在数据库中的登录名和密码,并将用户数据保存在会话/注册表中
Zend_Acl - 让某些用户访问某些页面(例如,用户 admin 可以访问 'admin' 控制器)
【讨论】:
Zend Auth 用于对最终用户进行身份验证,它处理登录和会话管理,而 zend acl 则不同。您可以指定登录用户的角色,例如 admin 、 manager 、 customer atc 。我更喜欢查看 zend 文档以获取更多信息。
【讨论】: