sfGuard customgorith_callable - PullRequest
       28

sfGuard customgorith_callable

0 голосов
/ 17 июня 2011

Я пытаюсь создать собственный алгоритм хэширования пароля. Я пытаюсь сделать это.

В app.cfg:

sf_guard_plugin:
  algorithm_callable: [Hlp, noHash]

В apps / frontend / 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.

Что я делаю не так?

UPDATE Изменение в app.yml :gorith_callable: 'Hlp :: noHash'

Изменен алгоритм в БД на 'Hlp :: noHash'

Пометка ответа Хакре как правильного для предоставления полезного совета.

Ответы [ 2 ]

1 голос
/ 17 июня 2011

sfGuardPlugin 1.3 ожидает, что функция будет статической, если вы хотите вызвать члена класса.

Однако в вашем случае в сообщении об ошибке прямо указывается, что вы вызываете глобальныйПубличная функция, в противном случае сообщение об ошибке было бы

Алгоритм, который можно вызвать «Hlp :: noHash» не вызывается.

Поэтому проверьте настройки.Проверьте требования PHP.А если сомневаетесь, читайте источник .

0 голосов
/ 17 июня 2011

Вы должны правильно определить свои функции. Время оставить эпоху PHP 4 позади. Также вам нужен PHP> 5.2.4

...
public static function noHash($password)
...

А вы имеете в виду app.yml, верно?

...