Stack Overflow en español Asked by RastaBlue on December 5, 2021
Estoy trabajando con shinobi y laravelCollective en laravel 6. Pasa que estoy haciendo la funcion update en el CRUD algo asi:
public function update(Request $request, User $user)
{
$user->update($request->all());
return redirect()->route('users.index')
->with('info', 'Usuario actualizado con exito');
}
Esto me actualiza correctamente al usuario, sin embargo pierdo la capacidad de iniciar sesion, pues tambien se actualiza el password pero no se cifra, por lo que el auth me manda un mensaje de error de clave erronea. Hay una manera de cifrar la clave usando esa sintaxis para crear la funcion? o unicamente se puede de la siguente manera:
public function update(Request $request, $id)
{
$users = AppUser::findOrFail($id);
$users->direc = $request->direc;
$users->tlf = $request->tlf;
$users->email = $request->email;
$users->password = Hash::make($request->password);
$users->save();
return view('users.index');
}
ingresando dato por dato y usando el Hash::make
.
Considera manejar esto a través de un mutator el cual dará formato a un atributo del modelo que en este caso es User
.
Dentro de tu modelo User.php
define el siguiente setter
class User extends Model
{
public function setPasswordAttribute($value)
{
$this->attributes['password'] = bcrypt($value);
}
}
password
bcrypt
Referencia
Answered by BetaM on December 5, 2021
Básicamente tienes que usar el facade Hash para "encriptar" la contraseña, con su método make, de lo contrario deberías, cualquier caracteres que envías, en lo tomara como clave encriptada, y te lo actualizara
Answered by Danny Escalante on December 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP