如何在CodeIgniter中调用我自己的控制器中的Tank Auth哈希函数?

时间:2012-06-13 11:45:39

标签: codeigniter

我在我的网站上使用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初始化新实例,但我不知道如何。

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

1 个答案:

答案 0 :(得分: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);