我已经让我的shell应用程序正常工作了,现在我想确保用户在任何其他事情发生之前都已登录。我有一个可用的身份验证控制器和相关的数据库表等。
我认为这样做的最好方法是将身份测试放在引导程序中,因为我不想在每个控制器中检查身份。基本上,我认为我想将代码放在引导程序中,如果是identity,则运行索引,否则运行auth。这是在Zend中做这件事的最佳方式吗?如果没有,首选的方法是什么?
我在考虑Bootstrap,因为对于任何类型的请求,如果用户已经登录,我都不想允许它,当然,最好只在一个地方进行此检查。
发布于 2012-09-10 03:22:52
我更常看到的是通过插件来实现这一点。这些可以在Zend应用程序调度周期的不同阶段完成。我遇到的最常见的设置是在preDispatch中放置一个检查用户登录状态的插件。
在Zend文档中搜索preDispatch插件,或者在Youtube上看一看,因为有一些很好的视频教程可以指导你完成它。
这样做的一个好处是,将来您可能希望在用户身份验证测试之前运行某种功能。在这种情况下,您可以在dispatchLoopStartup插件中添加新功能。
话虽如此,在bootstrap中检查用户登录状态并没有什么问题--我已经看过很多次了。它可能只是对用户插件更整洁,因为它们在新的应用程序中更具可重复性。
当然,这只是我的观点,但我希望这能有所帮助。
https://stackoverflow.com/questions/12341939
复制相似问题