0

我在我的网站上使用 Tank Auth 库,它在前端工作得很好。

但是我希望能够从我的网站的管理员端管理用户,所以我需要能够通过管理员创建一个新用户。

我想使用 Tank auth 的功能来创建与 tank auth 中使用的 phpass 格式相同的密码。

因此,在成功验证后,我需要使用 Tank Auth 函数 PasswordHash 对 $_POST['password'] 进行散列。

所以,现在我的控制器中有这段代码:

$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->library('security');
$this->load->library('tank_auth');
$this->lang->load('tank_auth');

$password_original = $_POST['password'];

$hasher = new PasswordHash(
    $this->ci->config->item('phpass_hash_strength', 'tank_auth'),
    $this->ci->config->item('phpass_hash_portable', 'tank_auth')
);
$hashed_password = $hasher->HashPassword($password);

但是我收到此错误消息: 消息:未定义属性:Admin::$ci

我想我必须用 &ci 初始化新实例,但我不知道怎么做。

提前感谢您提供任何帮助或建议如何以不同的方式进行操作。

4

1 回答 1

4

尝试删除->ci

$password_original = $_POST['password'];


$hasher = new PasswordHash(
    $this->config->item('phpass_hash_strength', 'tank_auth'),
    $this->config->item('phpass_hash_portable', 'tank_auth')
);


$hashed_password = $hasher->HashPassword($password);
于 2012-06-13T12:29:21.183 回答