0

我的 shell 应用程序正在运行,我现在想确保在发生其他任何事情之前用户已登录。我有一个有效的身份验证控制器和相关的数据库表等。

我认为最好的办法是将身份测试放在引导程序中,因为我不想检查每个控制器中的身份。基本上,我想我想将代码放入说明 if 身份的引导程序中,否则运行索引,运行 auth。这是在 Zend 中最好的方法吗?如果没有,首选方法是什么?

我在考虑 Bootstrap,因为对于任何类型的每个请求,如果用户已登录,我不想允许它,当然,最好只在一个地方进行此检查。

4

1 回答 1

1

我经常看到这是通过插件完成的。这些可以在 Zend 应用程序分派周期的各个阶段完成。我遇到的最常见的设置是在 preDispatch 中放置一个检查用户登录状态插件。

在 Zend 文档中搜索 preDispatch 插件,或者查看 Youtube,因为有一些很好的视频教程可以引导您完成它。

这样做的一个好处是,将来您可能希望在用户身份验证测试之前运行某种功能。在这种情况下,您可以将新功能放入 dispatchLoopStartup 插件中。

话虽如此,在引导程序中检查用户登录状态并没有什么问题——我已经看到很多次这样做了。用户插件可能更整洁,因为它们在新应用程序中更具可重复性。

当然,这只是我的看法,但我希望这会有所帮助。

于 2012-09-09T19:22:52.333 回答