0
이전 양식의 인증을 Laravel의 인증으로 전환하려고합니다. 나는 ajax 호출로 사용자를 인증하고 암호를 재설정해야하는지 확인하고있다.JS 리디렉션 될 때까지 Laravel ajax 인증 확인 작업을 수행합니다.
이전 방법의 유효성을 검사하려면 Laravel의 Auth :: login()을 사용하여 수동으로 사용자를 로그인하십시오. 아약스 호출이 성공하면 비밀번호 재설정 경로의 URL로 리디렉션됩니다.
이제 재설정 경로로 이동하면 사용자가 인증되었는지 확인합니다. 비밀번호 재설정 기능을 확인하면 사용자가 더 이상 인증되지 않습니다. Laravel 경로 필터링도 동일한 결과를 반환합니다.
감사합니다. 감사합니다.
자바 스크립트 :
function login(){
$form = $('#login-form')
$.ajax({
url: "/laravel/public/index.php/login",
type: 'POST',
data: $form.serialize(),
success: function(data){
if(data.action == 'reset')
window.location = '/laravel/public/index.php/reset';
},
error: function(){
}
});
}
로그인 기능 - Laravel
$login = Input::get('login');
$pass = Input::get('password');
$user = User::where('login', $login)
->select('password_reset', 'crypted_password', 'salt', 'password', 'id')
->first();
// check for reset old password
if($user->password_reset == 1 && Hash::needsRehash($user->password)){
$reset = LoginController::oldValidation($pass, $user->salt, $user->crypted_password);
if($reset == 1){
Auth::login($user);
error_log('Login Auth:' . Auth::check()); // will return true
return array('action'=>'reset');
}
}
초기화 기능 - Laravel
public static function reset(){
error_log('Check: ' . Auth::check()); // this is now false
}
를 해결 않았다
이것은 당신이 당신의 JSON 값을 반환하는 방법입니까? 나는 같은 문제가있다 – rafal235
여기 같은 문제가있다 !! – Flavio