Avatar billede streg Praktikant
26. august 2019 - 08:19

Efter login skal man videresendes til bestemt URL, som ikke er standard-URL..

Hej

En tidligere kollega har lavet noget kode, som logger ind på en virksomheds kundeportal. Der er en loginboks med brugernavn, password, check-felt til gem loginoplysninger og en 'Log ind'-knap. 
Hans kode virker egentlig som det skal, man bliver fint logget ind. Problemet er at man havner på en kundestartside. Jeg har brug for at man kommer videre til en anden side i kundeportalen. Jeg ved hvad URL'en til den ønskede side i kundeportalen er.
Jeg kender ikke meget til HTML-kodning, så jeg ved ikke hvad, jeg skal tilføje hvor i hans oprindelige kode. Jeg har forsøgt med "window-location=nyURL" efter funktionen redirect(), men det virkede ikke umiddelbart.

Det er ikke en brugbar løsning at få virksomhedens webbureau til at ændre start-siden på portalen generelt, da det kun lige er i denne situation, at man skal videresendes til en anden side i portalen.
Kaldet til portalen startes fra en Axapta2009, hvorfra man også har adgang til .Net-framework (hvis det er til nogen hjælp).

Det oprindelige kode ser sådan ud (logininfo m.m. ændret):
static void TestLogin(Args _args)
{
    TextIo textIo;
    #File
    str html = '';
    str filename = '';
    str username = 'kundecenter@virksomhed.dk';
    str password = 'Kundecenter1234';
    System.Diagnostics.Process pr;
    System.Diagnostics.ProcessStartInfo pi;
    ;

    html +='<!DOCTYPE html><html><body onload="redirect()" > ';

    html +='<form id="frm" action="https://portal.virksomhed.com/Login.aspx"; method="post">';
    html +='<input type="hidden" name="external.login.user" id="user" value="%1" />';
    html +='<input type="hidden" name="external.login.pass" id="pass" value="%2" />';
    html +='<input type="hidden" name="external.login.checked" value="false" />';
    html +='<input type="hidden" name="external.login.submit" value="Log in" /> </form>';

    html +='<script type="text/javascript">function redirect() {document.getElementById("frm").submit()}; </script>';

    html +='</body></html>';
    filename = System.IO.Path::GetTempFileName();
    filename += ".html";
    textIo = new TextIo(filename, #IO_WRITE);
    textIo.write(strFmt(html,username,password));

    //Open url
    pr = new System.Diagnostics.Process();
    pi = new System.Diagnostics.ProcessStartInfo(filename);
    pr.set_StartInfo(pi);
    pr.Start();

// Efter login kommer man til en startside. Jeg har brug for at komme videre til denne anden side, hvor jeg angiver nogle parametre, som er hentet fra kundens oplysninger.
//    "https://portal.virksomhed.com/Sektions/service/serviceSide.aspx?ENR=123_12345";

}
Alt hjælp og gode råd modtages med glæde.

På forhånd tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester