Php 未设置已验证用户的会话
(我知道下面的例子不安全) 我有一个基本的身份验证系统,用户必须输入他的凭证。当输入的凭据正确时,我在我的laravel应用程序中设置了一个会话,这表示他可以对api执行经过身份验证的请求。我是这样做的:Php 未设置已验证用户的会话,php,laravel,security,session,Php,Laravel,Security,Session,(我知道下面的例子不安全) 我有一个基本的身份验证系统,用户必须输入他的凭证。当输入的凭据正确时,我在我的laravel应用程序中设置了一个会话,这表示他可以对api执行经过身份验证的请求。我是这样做的: public function authenticate(Request $request){ $data = array( 'name' => $request->input('UserName'), 'password' =>$r
public function authenticate(Request $request){
$data = array(
'name' => $request->input('UserName'),
'password' =>$request->input('Password'),
'email' => 'test@test.ch'
);
If(Auth::attempt($data)){
$request->session()->put('isAuthenticated',true);
$request->session()->save();
return "success";
}
return "wrong";
}
我的中间件,用于检查是否允许用户发出请求:
public function handle($request, Closure $next){
if(!empty($request->session()->get('isAuthenticated')) && $request->session()->get('isAuthenticated') === true){
return $next($request);
}
return redirect('/');
}
我的路线:
Route::post('/login', 'UserController@authenticate');
Route::group(['middleware' =>['web','check_auth']], function (){
Route::get('/logs','LogController@getAllLogEntries');
Route::get('/logs/{id}','LogController@getLogEntryById');
});
我的问题:
每当用户使用正确的凭据登录时,服务器都会返回“success”作为响应,但总是将我引导回基本根目录(“/”)。这让我假设会话没有设置好。如何修复此错误?您使用的是哪种会话驱动程序?您是否可以共享完整的
登录
方法而不是代码片段?我使用的是:'use illumb\Http\Request'@ahmedatouih您是否在每个php文件中启动了会话?检查更新的答案@IlGala