我是 Zend 和 PHP 的新手,我正准备着手开发一个门户类型的应用程序,该应用程序将容纳多个内部应用程序。我已经设置了 Zend_Auth,现在可以通过 Active Directory 登录。
我们一直在讨论使用 Zend_Acl 设置资源,为门户中的每个应用程序设置一个资源。从表面上看,Zend_Acl 似乎可以处理我们需要的授权和对资源的分层访问。
经过一些研究,我发现将 Zend_Acl 与 Zend_Navigation 结合起来很常见,但有时会出现问题。
所要求的是,除了*使用前端控制器插件来检查每个请求的资源访问/权限之外,我们还可以控制视图 (HTML) 中显示给用户的元素。例如,如果用户“Bob”没有访问博客应用程序的权限,我们不希望 Bob 在他的导航菜单上看到它。
对我来说,引入所有这些逻辑以及是否在视图中检查是错误的;我认为他们应该尽可能保持愚蠢。有没有更好的方法来处理这个?根据您的视图代码中的用户角色有条件地显示或隐藏元素对我来说感觉不对。