我正在Zend中首次登录用户,但我对Zend_Auth感到困惑。 我读到的所有文章都直接在控制器中使用它。但对我来说,在我的用户模型中使用它更有意义,这样每个控制器都可以调用这些函数。
你们有什么想法?
关于Zend Framework的模型的文档非常少。
答案 0 :(得分:2)
您可以将身份验证逻辑放入用户类中。
查看Matthew Weier O'Phinney's blog post about Model Infrastructure,了解如何将authenticate
所需的Zend_Auth_Adapter_Interface
方法添加到自定义用户类。
答案 1 :(得分:0)
Zend_Auth :: getInstance()将返回实例,因此您可以在任何需要它的控制器中使用它,使shure在成功登录时保存数据,这样您就不需要模型进行身份验证或测试用户是否经过身份验证。 (在你的模型中使用auth会在你不需要它们的时候在内存中加载不必要的模型clases ...,如果用户通过身份验证的测试应该放在bootstrap中)
编辑以回复您的问题
使一个控制器具有验证和loggout的操作,这样你就可以保持独立,你可以通过页面上的一个简单链接调用loggout函数,并在登录到$ _SERVER后重定向回来['HTTP_REFERER “];所以当用户点击loggout时,用户最终会回到他正在查看的页面。
答案 2 :(得分:0)
在普通的网络应用程序“模型 - 视图 - 控制器”范例(可能argued即将结束)中,视图/控制器部分应包含与用户个人体验相关的代码。该模型应仅用于与您的数据进行交互;它应该包含转换数据,存储和检索数据的方法,以及包含它的成员。与业务逻辑,身份验证和其他特定于会话的信息相关的所有内容都应该远离“模型”。