2014-10-21 3 views
0

У меня проблемы с laravel, мне нужно сделать приложение и вам нужно положить хэшированный пароль.создать пользователя с хешированным паролем

мой взгляд код:

{{ Form::open(array('route' => 'users.store')) }} 
<li> 
    {{ Form::label('password', 'Confirmar Password:') }} 
    {{ Form::password('password_confirmation') }} 
</li> 
{{Form::close()}} 

Мой контроллер:

public function store() 
    { 
     $input = Input::all(); 
     $validation = Validator::make($input, User::$rules); 

     if ($validation->passes()) 
     { 
      User::create($input); 

      return Redirect::route('users.index'); 
     } 

     return Redirect::route('users.create') 
      ->withInput() 
      ->withErrors($validation) 
      ->with('message', 'Existem erros de validação.'); 
    } 

мне нужно сохранить пароль пользователя хэш в базе данных вы можете мне помочь, пожалуйста? Огромное спасибо.

ответ

1

Я хотел бы предложить, что вы добавляете каждый элемент в массиве сами ...

User::create(array(
    'username' => Input::get('username'), 
    'password' => Hash::make(Input::get('password')) 
)); 

Кроме того, вы можете создать мутатор в модели пользователя, который будет установить его для вас. Этот метод проще, но не так безопасен в том случае, если в конечном итоге вы начнете сохранять хешированный пароль, как описано выше. Если это произойдет, вы начнете просматривать двойные хэшированные пароли.

public function setPasswordAttribute($password) 
{ 
    $this->attributes['password'] = Hash::make($password); 
} 
Смежные вопросы