我的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.');
}
我需要在数据库中保存用户密码哈希,你能帮帮我吗?非常感谢你。
答案 0 :(得分:1)
我建议您自己添加数组中的每个项目......
User::create(array(
'username' => Input::get('username'),
'password' => Hash::make(Input::get('password'))
));
此外,您可以在用户模型中创建一个mutator,它将为您设置。这种方法更容易,但在最终开始保存像上面这样的哈希密码的情况下并不安全。如果发生这种情况,您就会开始看到双哈希密码。
public function setPasswordAttribute($password)
{
$this->attributes['password'] = Hash::make($password);
}