Laravel은 사용자 비밀번호 변경을 포함한 다양한 기능을 제공하는 인기 있는 PHP 프레임워크입니다. 이번 글에서는 Laravel에서 사용자 비밀번호를 변경하는 방법을 소개하겠습니다. 구체적인 단계는 다음과 같습니다.
1단계: 비밀번호 변경을 위한 경로 생성
먼저, 사용자 비밀번호 변경을 위한 Laravel 경로를 생성해야 합니다. web.php 파일에 다음 코드를 추가할 수 있습니다:
Route::get('/password', 'UserController@password')->name('password'); Route::post('/password', 'UserController@updatePassword')->name('updatePassword');
여기서 GET 및 POST 경로를 정의합니다. GET 경로는 비밀번호 변경을 위한 양식을 표시하는 데 사용되고, POST 경로는 양식 데이터를 제출하고 비밀번호 업데이트 작업을 수행하는 데 사용됩니다. 동시에 UserController@password 및 UserController@updatePassword는 우리가 만들어야 하는 두 가지 컨트롤러 메서드입니다.
2단계: 비밀번호 변경 양식 만들기
resources/views 디렉터리에 비밀번호 업데이트 양식이 포함된 비밀번호.blade.php 보기 파일을 만듭니다. 다음은 샘플 코드입니다.
<form method="POST" action="{{ route('updatePassword') }}"> {{ csrf_field() }} <div class="form-group"> <label for="current-password">Current Password</label> <input type="password" name="current-password" id="current-password" class="form-control" required> </div> <div class="form-group"> <label for="new-password">New Password</label> <input type="password" name="new-password" id="new-password" class="form-control" required> </div> <div class="form-group"> <label for="confirm-password">Confirm New Password</label> <input type="password" name="confirm-password" id="confirm-password" class="form-control" required> </div> <button type="submit" class="btn btn-primary">Submit</button> </form>
여기에는 현재 비밀번호, 새 비밀번호, 새 비밀번호 확인을 입력하는 데 사용되는 세 개의 입력 상자가 있습니다. 양식의 제출 주소는 경로에서 정의한 경로 이름으로 설정됩니다.
3단계: 컨트롤러 메서드 만들기
이제 UserController 컨트롤러에서 비밀번호와 업데이트패스워드라는 두 가지 메서드를 만들어야 합니다. 샘플 코드는 다음과 같습니다.
public function password() { return view('password'); } public function updatePassword(Request $request) { $this->validate($request, [ 'current-password' => 'required', 'new-password' => 'required|string|min:6|confirmed' ]); $user = Auth::user(); $currentPassword = $user->password; $passwordMatches = Hash::check($request['current-password'], $currentPassword); if ($passwordMatches) { $user->password = Hash::make($request['new-password']); $user->save(); return redirect()->back()->with('success', 'Password updated successfully!'); } else { return redirect()->back()->withErrors(['current-password' => 'Incorrect current password.']); } }
updatePassword 메소드에서는 먼저 양식 입력이 규칙을 준수하는지 확인합니다. 그런 다음 Auth::user() 메소드를 통해 현재 사용자 데이터를 얻은 후, Hash::check() 메소드를 통해 현재 비밀번호가 데이터베이스의 비밀번호와 일치하는지 확인합니다. 비밀번호가 성공적으로 일치하면 Hash::make() 메소드를 사용하여 새 비밀번호를 해시하고 데이터베이스에 저장합니다.
4단계: 비밀번호 변경 기능 테스트
이제 경로, 양식 및 컨트롤러 메서드를 만들었습니다. localhost/password 주소에 접속하여 비밀번호 변경 페이지에 접속하여 작성한 코드를 테스트할 수 있습니다. 모든 것이 순조롭게 진행되면 사용자가 비밀번호를 변경하도록 할 수 있습니다!
결론
Laravel에서는 사용자 비밀번호를 변경하는 것이 매우 편리합니다. 이 기능을 구현하려면 양식, 경로 및 컨트롤러 메서드만 생성하면 됩니다. 이 글이 Laravel에서 사용자 비밀번호를 변경하는 데 도움이 되기를 바랍니다.
위 내용은 Laravel에서 사용자 비밀번호를 변경하는 방법에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!