세션종료 되는 이유

홈페이지를 만들 때 필수는 아니지만 거의 다 포함하고 있는 기능이 "정보수정" 이며, 저 또한 "정보수정" 기능을 구현해보았습니다.

그런데 정보를 수정할 때 패스워드가 아닌 다른 정보의 경우 수정이 되어도 별 문제가 없지만 패스워드를 변경 할 때에는 세션이 종료되는 현상이 계속해서 발생하였습니다.

정확한 이유가 아닐 수도 있지만 제가 생각한 이유는 로그인 한 세션정보와 패스워드를 변경한 후의 세션정보가 서로 다르기 때문에 로그아웃이 되는 것 같습니다.

그래서 이 문제를 해결하기 위해서는 패스워드를 포함한 사용자 정보를 변경한 후 재 로그인 시켜줘야 합니다.

패스워드 변경 후 로그인 세션 유지하기

// 회원정보 수정

use Auth;       // Auth 클래스
use App\User;   // 사용자 테이블

public function modifyUser(Request $request)
{
    $name = $request->input('name');
    $passwd = $request->input('password');

    // 로그인 된 유저의 PK 번호가 1 이라고 가정.
    $user = User::find(1);
    $user->name = $name;
    $user->password = bcrypt($passwd);
    $user->save();
    // 세션종료.

    Auth::login($user); // 재 로그인 하여 세션복구.
}