嘿家伙我有一些Slim Middleware的问题。Slim post方法重定向不适用于超薄中间件
我创建了一个中间件,用于检查用户是否使用Facebook登录并具有特定的电子邮件地址。所以,现在当我用PHPStorm RESTful Test工具调用URL时,我不应该能够将数据发布到服务器... 但是,重定向不起作用,所以我将能够发送数据到服务器。
/**
* Admin Middleware
*
* Executed before /admin/ route
*/
$adminPageMiddleware = function ($request, $response, $next) {
FBLoginCtrl::getInstance();
$user = isset($_SESSION['user']) ? $_SESSION['user'] : new User();
if (!($user->getEmail() == ADMIN_USER_EMAIL)) {
$response = $response->withRedirect($this->router->pathFor('login'), 403);
}
$response = $next($request, $response);
return $response;
};
/**
* Milestone POST Method
*
* Create new Milestone
*/
$app->post('/admin/milestone', function (Request $request, Response $response) use ($app) {
$milestones = $request->getParsedBody();
$milestones = isset($milestones[0]) ? $milestones : array($milestones);
foreach ($milestones as $milestone) {
$ms = new Milestone();
$msRepo = new MilestoneRepository($ms);
$msRepo->setJsonData($milestone);
if (!$msRepo->createMilestone()) {
return $response->getBody()->write("Not Okay");
};
}
return $response->getBody()->write("Okay");
})->add($adminPageMiddleware);
所以任何人都可以给我一个提示什么问题可能是什么? 我试图添加相同的中间件到获得路线...它的工作原理:/奇怪的东西。
用户点击与Facebook登录后,将创建会话,他是由Facebook的,PHP的重定向SDK –