【发布时间】:2015-06-03 17:24:44
【问题描述】:
我正在使用 Laravel 5 和带有 RESTFUL apis 的 angularJs 开发 Web 应用程序。
使用middleware 进行身份验证。我的问题是同时发送几个请求后,系统自动注销并从 laravel 端发送 401 异常。
API 基础控制器:
class ApiController extends BaseController {
use DispatchesCommands, ValidatesRequests;
function __construct() {
$this->middleware('api.auth');
}
}
中间件:
class APIMiddleware {
/**
* Handle an incoming request.
*
* @param Request $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next) {
if (!Auth::check()) {
abort(401, "Unauthorized");
}
return $next($request);
}
}
登录控制器
public function login(LoginRequest $request) {
if (Auth::check()) {
Auth::logout();
}
if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')], $request->input('is_remember'))) {
return array(true);
} else {
abort(401, "Invalid email & password");
}
}
在几个请求消失后,服务器注销并发送 401 异常。我被这个问题困住了。
【问题讨论】:
-
对我来说这个错误是因为在 php.ini 文件中将 always_populate_raw_post_data = -1 更改为 always_populate_raw_post_data = 1 ......最后我改变了它到 always_populate_raw_post_data = 0 一切正常
标签: php angularjs session laravel laravel-5