SfGuard自定义算法_Callable

2022-04-12 00:00:00 php symfony1 sfguard

我正在尝试制定密码散列的自定义算法。我试着这样做。

在app.cfg:

sf_guard_plugin:
  algorithm_callable: [Hlp, noHash]

在app/前端/lib/Hlp.php中:

class Hlp
{
  function noHash($password) //tried to make public or public static, but it didn't work either
  {
    return $password;
  }
}

在我的数据库中,‘算法’被设置为‘noHash’。 当我尝试登录时,收到以下错误:

可调用的算法"noHash"不可调用。

我使用的是php 5.2。

我做错了什么?

更新 App.yml:算法_Callable:‘HLP::noHash’中的更改

将数据库中的算法更改为"HLP::noHash"

将哈克雷的答案标记为正确,以便提供有用的提示。


解决方案

sfGuardPlugin 1.3预期该函数在您要调用类成员的情况下是静态的。

然而,在您的情况下,错误消息明确指出您正在调用全局公共函数,否则错误消息应该是

可调用的算法"hlp::noHash"不可调用。

因此请检查设置。检查PHP要求。如果有疑问,read the source。

相关文章