Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2007, 19:34
Avatar de TheRojo
TheRojo
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 16 años, 4 meses
Puntos: 0
Abrir una sesion de Tomcat, pero con codigo PHP ?

Hola que tal, alguien podria orientarme sobre como abrir una sesion de Tomcat, pero que esta sesion se abra con codigo PHP.

Ya sea que Tomcat lo tenga configurado para una autentificacion BASIC (hacia un contexto) o bien con una Autentificacion tipo FORM (que recibe por post las variables).



He intentado hacerlo con sockets, pero no lo he logrado, este es mi codigo:



$direccion="http://localhost/proyecto/logeate.php";
$variables["j_username"]="tomcat";
$variables["j_password"]="password";
$referido="localhost:8080/jsp-examples";


echo sendpost($direccion,$variables,$referido);


function sendpost($direccion,$variables, $referido)
{

global $_SERVER;

//Desarmamos la URL definida en $dirección
$infodeurl=parse_url($direccion);

//En caso de que el parametro $referido no este definido, que coloque el documento actual
if($referido=="") $referido=$_SERVER["SCRIPT_URI"];


//Desglosamos las variables que se van a enviar
foreach($variables as $key=>$valor)
{
$valores[]=$key."=".urlencode($valor);
}

//Convertimos las Variables desglosadas en una cadena de consulta
$datos=implode("&",$valores);

//En caso de que el puerto no esté definido en la url, utilizaremos por defecto el puerto 80
if(!isset($infodeurl["port"]))
{
$infodeurl["port"]=80;
}


//Creamos la Data que se enviara por medio del socket
$retorno.="POST ".$infodeurl["path"]." HTTP/1.1\n";
$retorno.="Host: ".$infodeurl["host"]."\n";
$retorno.="Referer: $referer\n";
$retorno.="Content-type: application/x-www-form-urlencoded\n";
$retorno.="Content-length: ".strlen($datos)."\n";
$retorno.="Connection: close\n";
$retorno.="\n";//incluimos las variables en la data
$retorno.=$datos."\n";//Conectamos al dominio especificado en la URL
$fp = fsockopen($infodeurl["host"],$infodeurl["port"]);//le enviamos los datos

if (!$fp)
{
echo "No se pudo realizar la conexion";
}else
{
echo "Conexion Realizada a Tomcat";
}

fputs($fp, $retorno);
desperror("","",$fp);

//Sacamos el resultado linea a linea
// while(!feof($fp))
// {
// $resultado .= fgets($fp, 128);
// }

//Cerramos la conexión con el servidor
fclose($fp);
//Y retornamos los datos.
//return $resultado;
}

Aunque este ejemplo trata de enviar datos via socket a la direccion de Tomcat, yo lo unico que necesito es logearme en Tomcat, pero que sea Transparente, es decir que no me salga la ventana de Tomcat, donde me pida el user y password, que las reciba y que abra la session.


Gracias.