SessionCookie
을 슬림 모드로 사용하면 $_SESSION
을 전체적으로 검색 할 수없는 것으로 나타났습니다.
$app->add(new \Slim\Middleware\SessionCookie());
function checkAdmin() {
if (! isset($_SESSION['admin']) || $_SESSION['admin'] !== TRUE) {
exit(NULL);
}
}
$app->get('/.*', function() use($app) {
// function checkAdmin() can retrieve the session value I set here
$_SESSION['admin'] = TRUE;
$app->render('index.php');
});
$app->post('/loginAdmin', function() use($app) {
// function checkAdmin() can NOT retrieve the session value I set here
$_SESSION['admin'] = TRUE;
exit(TRUE);
});
$app->post('/getAllUsers', 'checkAdmin', function() use($app) {
// Not related.
});
checkAdmin()
나는 POST /loginAdmin
에 할당 된 기능에 $_SESSION
을 설정 항상 exit(NULL)
한다면, 그래서 세션 할당이 작동하지 않은 것으로 보인다.
그러나 GET /
에 할당 된 기능에 $_SESSION
을 설정하면 checkAdmin
에서 모든 항목을 검색 할 수 있습니다.
기본 세션 저장소가 정상적으로 작동하기 때문에 SessionCookie
과 관련된 내용이어야합니다.
어떻게 작동시킬 수 있습니까?
사내 세션 구현을 사용하여 사용하지 마십시오. 프레임 워크 세션 클래스를 사용해야합니다. –
@AdilIlhan Slim은 세션 클래스를 제공하지 않지만 'SessionCookie'를 추가하면 실제로는 원시 세션 동작을 대체합니다. – Melkor
같은 문제가 있습니다. 너는 그것을 해결 했니? –