直到JS重定向,Laravel ajax身份验证工作
Laravel ajax auth check working until JS redirect
我正在尝试将我们旧的身份验证形式转换为Laravel的Auth。我正在用ajax调用验证用户,并检查他们的密码是否需要重置。
我验证旧的方式,使用Laravel的Auth::login()手动登录用户。ajax调用成功后,我将重定向到重置密码路由的url。
现在,当我到达reset pass路由时,我检查用户是否经过身份验证。当我检查重置密码功能时,用户不再经过身份验证。Laravel路由过滤也返回相同的结果。
任何建议都是赞赏的,谢谢!
Javascript: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');
}
}
Reset function - Laravel
public static function reset(){
error_log('Check: ' . Auth::check()); // this is now false
}
尝试使用正确的方式返回响应,否则用户被授权的会话值将无法正确设置。
你应该这样返回你的JSON值:
return Response::json(array('action'=>'reset'));
相关文章:
- AJAX HTTP基本身份验证解决方案
- postmates api的AJAX中的HTTP身份验证失败
- 如何触发带有第一个请求(Windows 身份验证)的授权标头的 AJAX 帖子
- 使用jQuery AJAX对用户进行身份验证不起作用
- 身份验证-每个ajax中的密钥
- 使用ajax的javascript应用程序的身份验证模型
- 向具有不同域和基本身份验证的服务器发出 ajax POST 请求是不可能的
- 使用 jQuery 在 CouchDB 中对 ajax 查询进行身份验证
- 使用HTTP基本身份验证的JQuery Ajax调用
- 什么是通过AJAX对用户进行身份验证的最简单安全的方法
- 在MVC控制器和JavaScript Ajax调用之间需要身份验证
- ITHIT WebDAV Ajax库与匿名身份验证
- 从外部应用程序到Spring Security的Ajax身份验证
- jQuery ajax基本身份验证不起作用
- Phonegap + Sencha + Android: ajax请求与基本访问身份验证失败
- AJAX请求-cookie身份验证
- 为使用Azure Active Directory身份验证保护的Web API的AJAX调用添加身份验证令牌
- 用户身份验证使用jQuery, Ajax, MySQL和Java
- 带密钥的Ajax头身份验证
- 直到JS重定向,Laravel ajax身份验证工作