gpt4 book ai didi

php - Zend_Auth 最佳实践

转载 作者:可可西里 更新时间:2023-11-01 13:48:26 25 4
gpt4 key购买 nike

我的目标是要求某些页面登录。我正在使用 Zend Framework MVC,我正在尝试寻找有关最佳实践的示例。

关于我正在寻找的东西的一些注释:

  • 我希望未登录的用户获得一个登录框,然后在通过身份验证后返回到页面的登录版本
  • 我想使用依赖注入(inject),避免单例
  • 代码占用空间小 - 融入 Zend mvc 结构
  • 登录框是否应该是一个单独的 Controller 并进行标题重定向?验证成功后如何返回登陆页面?简单地调用登录 Controller 操作以在登录页面中显示登录框的想法,或者这是关于搜索引擎索引的缺点?
  • 能够使用外部库来处理 cookie

或者完全不同的东西。我是 Zend 框架的新手,我想以“正确的方式”使用它。

最佳答案

  • I want non-logged in users to get a login box, and then return to logged in version of the page, once authenticated

使用 FrontController plugin并将它们重定向或转发到您的 loginAction。

  • I want to use dependency injection, and avoid singletons

Zend Framework 目前不提供任何 DI 系统,但是 Zend_Application_Resource_* 实际上取代了它。您需要什么样的依赖关系?

  • Small code footprint - tie into Zend mvc structure

这取决于你。

  • Should login box be a separate controller and do header redirect? How to return to landing page after auth success? An idea to simply call the login controller action to display the login box in the landing page, or is this a disadvantage regarding search engine indexing?

我主要使用一个特殊的 AuthControllerLoginAction & LogoutAction。为了将用户重定向到试图查看的页面,我总是在我的表单中添加一个 returnUrl 元素,并且我注入(inject)请求的 URL 的值以便能够重定向用户,如果没有,我将他重定向到索引/仪表板,视情况而定。

  • Be able to use external library for handling cookies

Zend_Auth 允许你设置你的 own storage mechanism ,所以只需实现接口(interface)即可。

$auth = Zend_Auth::getInstance();
$auth->setStorage(new My_Auth_Storage());

但是 从不将身份验证结果存储在 cookie 中,很容易修改它并访问您的网站。

你也可以看看我的一个 previous answer .

关于php - Zend_Auth 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5513555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com