通过请求对象传递所有属性时加密密码
Encrypting password when passing all properteis through a request object
我有一个用户注册方法。我正在尝试清理我的代码,我将我的请求 class 传递的属性传递给创建方法。
注册方法
public function register(CreateUserRequest $createUser)
{
$user = User::create($createUser->validated());
return response()->json($user);
}
创建用户请求class
class CreateUserRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'first_name' => 'required',
'last_name' => 'required',
'username' => 'required',
'email' => 'required|email|unique:users,email',
'phone_number' => 'required|unique:users,phone_number|phone:IE',
'password' => 'required',
];
}
public function messages()
{
return [
'phone_number.phone' => 'The phone number is invalid.',
];
}
}
除了我的密码以纯文本格式存储之外,这非常有效。如何使用 bcrypt() 对其进行加密,而不必将每个 属性 都写入存储在创建方法中?
我会先获取数据,更新要散列的密码,然后创建用户。
public function register(CreateUserRequest $createUser)
{
$userData = $createUser->validated();
$userData['password'] = Hash::make($userData['password']);
$user = User::create($userData);
return response()->json($user);
}
注意:不要忘记导入 Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Hash;
我有一个用户注册方法。我正在尝试清理我的代码,我将我的请求 class 传递的属性传递给创建方法。
注册方法
public function register(CreateUserRequest $createUser)
{
$user = User::create($createUser->validated());
return response()->json($user);
}
创建用户请求class
class CreateUserRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'first_name' => 'required',
'last_name' => 'required',
'username' => 'required',
'email' => 'required|email|unique:users,email',
'phone_number' => 'required|unique:users,phone_number|phone:IE',
'password' => 'required',
];
}
public function messages()
{
return [
'phone_number.phone' => 'The phone number is invalid.',
];
}
}
除了我的密码以纯文本格式存储之外,这非常有效。如何使用 bcrypt() 对其进行加密,而不必将每个 属性 都写入存储在创建方法中?
我会先获取数据,更新要散列的密码,然后创建用户。
public function register(CreateUserRequest $createUser)
{
$userData = $createUser->validated();
$userData['password'] = Hash::make($userData['password']);
$user = User::create($userData);
return response()->json($user);
}
注意:不要忘记导入 Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Hash;