Efter login skal man videresendes til bestemt URL, som ikke er standard-URL..
HejEn 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.