我正在构建一个基于 ZF2 的站点,它有 2 种不同的布局。它有一些公共页面和一些需要用户认证的内部页面,每组页面都有自己的布局。我最初想创建一个控制器插件并检查用户是否具有身份,然后我将更改布局,但它也会更改登录用户的公共页面的布局,这是我们不想要的。另外我不知道如何从控制器插件更改布局。
内部页面的布局还需要一些关于当前用户的信息以及来自其他表格的一些其他信息。所以我正在考虑创建另一个插件来检查用户是否有身份,然后它将设置布局变量。我不确定如何在控制器插件中获取布局对象来设置变量。也不知道如何让一个插件访问其他插件。
同样对于内部页面,如果用户登录或未登录,我会检查每个操作。如果他没有身份,我将他发送到登录页面。这导致了很多重复的代码,所以有没有办法将此代码移动到控制器插件,并以某种方式告诉它检查特定页面上的用户身份,如果用户有身份,让他访问该页面,否则让他登录屏幕。