我正在尝试根据Laravel5.3中的API对用户进行身份验证。它不起作用。一旦用户在登录后重定向,身份验证就不会持久。
路由配置如下:
Route::group(['middleware' => 'web'], function () {
Route::group(['middleware' => 'auth'], function () {
Route::get('/', 'Users\DashboardController@index');
});
// Authentication routes...
Route::get('login', 'Auth\LoginController@getLogin');
Route::post('login', 'Auth\LoginController@postLogin');
Route::get('logout', 'Auth\LoginController@getLogout');
});
在LoginController.php我正在使用
protected $redirectTo = '/';
public function getLogin()
{
return view('auth.login');
}
public function postLogin(Request $request)
{
$this->login($request);
}
成功保存在文件中的登录后,路由'/'
的会话不会启动。
所以在“登录”
路径上:
dd($session)
返回
#启动:true
Store {#153 ▼
#id: "fo9Q8WuBio5BBus70WmzFPZmkXkjsYQlYEHsVHI4"
#name: "laravel_session"
#attributes: array:4 [▼]
#bags: []
#metaBag: MetadataBag {#144 ▼}
#bagData: array:1 [▼]
#handler: FileSessionHandler {#154 ▼}
#started: true
}
但是当路由在中间件组(在我的情况下是
'auth'
)中时,#start
是false。
当我将
'/'
路由置于'auth'
中间件组之外,但在控制器中调用auth::check()
时,我检查了一些,并且#start
也为false。
这个问题似乎已经存在于5.2中(Auth没有坚持在laravel5.2中),但是那里的解决方案对我不起作用。
请帮助我了解为什么登录后无法访问
'/'
路由。非常感谢。
更改kernel.php“api”
api' => [
'throttle:60,1',
'bindings',
],
到
'api' => [
'throttle:60,1',
'bindings',
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
],
TL;DR:成功登录并重定向到后,我被控制器的中间件踢回(
我试图通过编写一个简单的REST应用程序来学习Spring Boot,该应用程序将登录用户()并显示当前用户的信息()。我正在使用Redis进行会话。 按预期工作:它返回主体并在浏览器和Redis中设置会话cookie。 然而,随后的请求返回。我错过了什么? : : < code > index controller . Java : :
在身份验证等情况下,与会话相比,使用JWTs有什么优势? 它是作为独立方法使用还是在会话中使用?
我正在使用Vert。后端为x,前端为AngularJS。 Vert. x服务器使用POST和GET方法接收HTTP操作。不知何故,我为每个请求获取不同的会话ID。 以下是来自我的LoginFormHandler类句柄例程的代码片段。 我正在将用户对象放入当前会话中。然后我移动到新页面并向Vert. x服务器发送POST请求。在那个POST处理程序中,我正在尝试获取会话对象: 我没有得到用户。此外,
我遵循了认证教程,但遇到了一些问题。 它不能将变量传递给导入的函数。
keytool-list-v-keystore my_keystore.jks