0

私は自分のサイトでTankAuthライブラリを使用していますが、フロントエンドからはうまく機能します。

ただし、自分のWebサイトの管理者側からユーザーを管理できるようにしたいので、管理者を介して新しいユーザーを作成できるようにする必要があります。

Tank authの機能を使用して、tankauthのphpassが使用しているのと同じ形式でパスワードを作成したいと思います。

したがって、検証が成功した後、TankAuth関数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 に答える