ayuda con php y c# (wiki y uploader)

#1
hola que tal companeros bakunos!
Como les va?

Bueno, yo aqui tengo un problema.
Lo que pasa es que tenemos una wiki hecha en PHP, y una aplicacion para subir archivos hecha en c#

La bronca es la siguienite:
1. Un usuario entra a la pagina en c#-.NET, donde hay un wizard para subir los archivos.
2. Al presionar SIGUIENTE en el wizard, se debe buscar la sesión de autentificación en la wiki hecha en PHP.
3. Si la autentificación falla, el usuario es redireccionado a la página de login de PHP para que inicie sesión.
4. Si inicia sesión adecuadamente en la página PHP, la página web en .net debe redireccionarlo al punto #1.
5. Al volver a la aplicacion web, cuando el usuario ya está loggeado, ya debe seguir con el wizard para que lo dejen subir los archivos.


Ahora bien, la duda, que sería lo escencial aqui, es cómo le hago para identificar las sesiones de PHP en c#? Existe alguna manera? O cómo puedo hacerle para poder enviar los datos de sesión desde PHP a c#?

Mil gracias! Por favor ayudenme =)
 

kinoitch

Bovino maduro
#2
No entiendo el porque de hacer php y c#, si con php puedes manejar las sesiones y asi como tambien el subir contenidos para tu web. Lastima yo solo se lo esencial de c# pero en win.

Espero alguien te peuda ayudar, suerte!!
 
#3
No entiendo el porque de hacer php y c#, si con php puedes manejar las sesiones y asi como tambien el subir contenidos para tu web. Lastima yo solo se lo esencial de c# pero en win.

Espero alguien te peuda ayudar, suerte!!
Si yo se...es algo complicado, pero no es que yo lo haya diseñado. Estoy en una chamba y me dijeron que ese era mi trabajo, pero lo único que he logrado ha sido que te redireccione de regreso hacia la aplicación de subir archivos; y les he dicho a mis jefes que mejor cambiar todo a PHP o todo a C#, pero están medio necios y dicen que no... que debe haber alguna manera de hacerlo.
Pero bueno :) mil graciaaas, por favor, si alguien sabe, ayúdenme :)
 

dramms

Bovino adolescente
#4
Hola que tal,¿Por que no creas un servicio web en PHP (p.ej. Nu Soap), que verifique las sesiones y lo consumes desde ASP.Net? Seria una manera fácil y muy rápida de tener interconectividad en tus dos sistemas. Saludos
 
#5
Hola que tal,¿Por que no creas una servicio web en PHP (p.ej. Nu Soap), que verifique las sesiones y lo consumes desde ASP.Net? Seria una manera fácil y muy rápida de tener interconectividad en tus dos sistemas. Saludos
a genial, mil gracias por la ideaaa compadre! Deja lo trato de implementar y si tengo dudas te aviso :) saludos!! :) y si sí se puede, les digo cómo fue para que también si alguien tiene dudas lo vean :)
saludos ! :chavo:
 

dramms

Bovino adolescente
#6
a genial, mil gracias por la ideaaa compadre! Deja lo trato de implementar y si tengo dudas te aviso :) saludos!! :) y si sí se puede, les digo cómo fue para que también si alguien tiene dudas lo vean :)
saludos ! :chavo:
Excelente, cualquier cosa por aca estamos. Échale ganas...:vientos:
 
#7
Excelente, cualquier cosa por aca estamos. Échale ganas...:vientos:
Hola qué tal dramms y el resto de los bakunos.

Oye, fíjate que he estado pensando en esta otra opción.
Tengo una página en la web de PHP (http://blablabla/api.php?action=query&meta=userinfo) en la cual me regresa un contenido XML con la siguiente información:

Código:
<?xml version="1.0"?>
<api>
  <query>
    <userinfo id="0" name="193.253.184.238" anon="" />
  </query>
</api>
Y en el resultado de query, cuando estás loggeado en la página de PHP, te regresa tu ID en lugar de 0 y tu nombre de usuario en lugar de tu IP (por ejemplo, userinfo id = "userID" name="userName").
Entonces he estado viendo si en lugar de hacer servicios web puedo hacer simplemente el siguiente método

Código:
System.Net.HttpWebRequest StockRequest = (HttpWebRequest)WebRequest.Create("http://blablabla/api.php?action=query&meta=userinfo");
            
            StockRequest.Timeout = 10000; //10 seconds
            HttpWebResponse StockResponse = (HttpWebResponse)StockRequest.GetResponse();
            if ((StockRequest.GetResponse().ContentLength > 0))
            {
                System.IO.StreamReader str = new System.IO.StreamReader(StockRequest.GetResponse().GetResponseStream());
                string sResponse = Server.HtmlDecode(str.ReadToEnd());
                if (str != null) str.Close();
                if (sResponse.Contains("<userinfo id=\"0\" name=") && sResponse.Contains("anon=\"\" />")) ;
                {
                    return false;
                }
            }

            return true;
Y esto funciona, pero a medias, porque siempre me regresa el mismo resultado el WebRequest. No sabes cómo hacerle para que al entrar lo haga con las credenciales que ya tengo con el login del usuario que está en ese preciso momento? He visto en otros foros que sí se puede, con cookies o credentials, pero no entiendo mucho... o si de plano no, pues a empezar a darle a los servicios...
Mil gracias! :)
 

dramms

Bovino adolescente
#8
Púes tendrias que hacer la depuración mas detallada desde el visual studio, y ver cuales son las entradas del xml del wiki a tu metodo de consulta en el asp.net:vientos:, en caso de seguir fallando:cowverine:, puedes intentar con las cookies por acá puedes ver más:metal:...
cookies asp.net y cookies en php.
Saludos.:eolo:
 
#9
Púes tendrias que hacer la depuración mas detallada desde el visual studio, y ver cuales son las entradas del xml del wiki a tu metodo de consulta en el asp.net:vientos:, en caso de seguir fallando:cowverine:, puedes intentar con las cookies por acá puedes ver más:metal:...
cookies asp.net y cookies en php.
Saludos.:eolo:
Hola qué tal.
Pues estuve ya intentando mucho con cookies y no puedo lograr que se manden. Ya hice de todo y no obtengo resultados. Tengo unas cookies pero al parecer no las puedo reenvíar y ya estuve 2 dias enteros y sin resultados. Creo que pasaré a hacerlo con PHP web services y sólo te quería preguntar cómo hacerle para consumirlo desde C#? Mil gracias :) Saludos!
 
#10
Púes tendrias que hacer la depuración mas detallada desde el visual studio, y ver cuales son las entradas del xml del wiki a tu metodo de consulta en el asp.net:vientos:, en caso de seguir fallando:cowverine:, puedes intentar con las cookies por acá puedes ver más:metal:...
cookies asp.net y cookies en php.
Saludos.:eolo:
Qué tal carnal.
Mira, para que veas como está la cosa...
Estoy usando media Wiki, con los siguientes datos
* MediaWiki version:1.16.0 beta3
* PHP version:5.3.3
* MySQL version:5.1.41

La bronca es que como ya te comenté, el usuario se tiene que autentificar en el sitio wiki. Hay un script php que ya está hecho por MediaWiki "[[/api.php?action=query&meta=userinfo]]", pero necesito enviar las cookies.
Cada que visito ese link desde mi navegador, esa api me regresa mi nombre de usuario y el ID de usuario en un formato XML. Sin embargo, cuando lo visito con webrequests me muestra id=0 y nombre de usuario desconocido.

Espero me puedan ayudar porque es para la próxima semana :S

Mil gracias! =)
 
#11
hola que tal, pues lo que he hecho es darme por vencido con eso jaja, y voy a empezar a desarrollar mi propia extensión para MediWiki en PHP, parece ser más fácil. Alguna idea de cómo empezar?? :) Gracias!
 
Arriba