LogIn simple en Slim Framework

   En la entrada anterior explicaba como conectar Slim Framework a MySQL/MariaDB, si ya conectamos a la BD utilizando PDO entonces solo nos resta validar los datos del usuario, para eso tenemos a nuestra disposición los Middleware, de forma simple basta con hacer lo siguiente:
$app->get('/login', function ($request, $response, $args) {
    $input = $request->getParsedBody();
    if($input['usuario'] == "hola" && $input['clave'] == "mundo") {
        $_SESSION["usuario"] = "carlitox";
        return $this->response->withJson(array("ok"=>"acceso autorizado"));
    } else {
        return $this->response->withJson(array("error"=>"acceso negado"));
    }
});

$app->get('/logout', function ($request, $response, $args) {
    session_destroy();
    return $this->response->withJson(array("ok"=>"sesion finalizada"));
});

$app->get('/test', function ($request, $response, $args) {
    return $this->response->withJson(array("ok"=>"prueba A"));
})->add(function ($request, $response, $next) {
    if(!isset($_SESSION["usuario"]))
        return $this->response->withJson(array("error"=>"acceso negado"));
    $response = $next($request, $response);
    return $response;
});
   Podemos agrupar varias rutas, por ejemplo:
$app->get('/login', function ($request, $response, $args) {
    $input = $request->getParsedBody();
    if($input['usuario'] == "hola" && $input['clave'] == "mundo") {
        $_SESSION["usuario"] = "carlitox";
        return $this->response->withJson(array("ok"=>"acceso autorizado"));
    } else {
        return $this->response->withJson(array("error"=>"acceso negado"));
    }
});

$app->get('/logout', function ($request, $response, $args) {
    session_destroy();
    return $this->response->withJson(array("ok"=>"sesion finalizada"));
});

$app->group('/test', function() {
    $this->get('/a', function ($request, $response, $args) {
        return $this->response->withJson(array("ok"=>"prueba A"));
    });
    $this->get('/b', function ($request, $response, $args) {
        return $this->response->withJson(array("ok"=>"prueba B"));
    });
})->add(function ($request, $response, $next) {
    if(!isset($_SESSION["usuario"]))
        return $this->response->withJson(array("error"=>"acceso negado"));
    $response = $next($request, $response);
    return $response;
});
   Con esto tenemos un inicio de sesión simple utilizando PHPSESSID.

Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.

Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión EmoticonEmoticon