maqeMedlem sedan dec. 2003824 inlägg Håller på och gör en läcker inloggning "enligt mig :)"
Tänkte använda mig av forms authentication fast inloggningsformuläret är ett modalt dialogfönster som kontrollerar uppgifterna vid inloggning.
Nu är problemet att om uppgifterna godkänns så vill jag att dialogen ska stängas ner och min parent sida ska redirectas till en underkatalog som är skyddad med forms authentcation.
Jag har provat något i still med detta utan framgång
Page.RegisterStartupScript("close", "<script language='JavaScript'>window.opener.location='/secure/default.aspx;self.close()'</script>");
Någon som kan hjälpa mig med detta och har en bra lösning?
maqeMedlem sedan dec. 2003824 inlägg Ingen som har varit med om problemet när man vill köra en refresh på parent fönstret när man använder asp.net?
fredrikMedlem sedan dec. 19991 072 inlägg ....låter snarare som ett javascript-problem än ett asp.net problem?
...en lösningen kan vara att lägga javascriptet som en js-funktion och om inloggningen lyckades så kan du lägga till ett "onLoad" attribut på Body-taggen som gör att scriptet körs...
maqeMedlem sedan dec. 2003824 inlägg Nja jag skulle inte säga att det är ett javascript problem då javascripten inte fungerar som vanligt i asp.net. I vanlig klassisk asp är det ju inga problem att använda sig av det scriptet jag skrev i mitt första inlägg men i asp.net fungerar det inte alls, iaf inte när jag har serverkontroller.
maqeMedlem sedan dec. 2003824 inlägg Det här verkar vara nått som jag är på jakt efter men får det inte att funka. http://www.123aspx.com/ReadReviews.aspx?res=22909 nån som har tid att lägga ett öga och säga om det kan vara användbart för mitt endamål?
maqeMedlem sedan dec. 2003824 inlägg Glöm det där inlägget ... va ju ingen dialogruta man skulle logga in ifrån tyvärr
PatrikBMedlem sedan mars 20002 836 inlägg PatrikBMedlem sedan mars 20002 836 inlägg eller:
http://www.psacake.com/web/fl.asp
så har du det rakt av i asp ;)
cya,
/PatrikB
maqeMedlem sedan dec. 2003824 inlägg Jag är inte intresserad av att användaren skall behöva ha konto på servern för att få access ...
Kan posta lite kod så ni ser hur jag tänkt mig ...
Detta skickar upp en dialogruta som jag gjort själv där man får knappa in login och pass som finns sparat i koden ...
if(PageChoice == "editmode")
{
Page.RegisterStartupScript("login", "<script language='JavaScript'>ShowLoginDialog();</script>");
}
I codebehindfilen på dialogen ser koden ut såhär ...
if (UserID.Text == "maqe" && PassWrd.Text == "qwe123")
{
FormsAuthenticationTicket Field = new FormsAuthenticationTicket(UserID.Text, true, 5000);
FormsAuthentication.RedirectFromLoginPage(UserID.Text, true);
//Response.Redirect("../secure/default.aspx");
//Page.RegisterStartupScript("closeit", "\<script language='JavaScript'\>window.close();\</script\>");
}
else
{
lblMessage.Text = "Fel Namn eller Lösen !!";
}
}
det är det som är rödmarkerat som ställer till problem ... där vill jag att dialogen ska stängas och att min sida som öppnade dialogen ska redirectas till /secure/default.aspx ... det borde inte vara ursvårt att lösa väl?
GladhMedlem sedan maj 20012 812 inlägg Du vill alltså att din popup-rutan som är en login-ruta skall stängas och den sida som öppnade popup-rutan skall redirectas till en ny sida.
Om du gör: response.redirect("../.."); så kommer du göra denna redirect på din popup-sida som du sedan stänger ner. För att kunna redirecta den sidan som öppnade popupen så måste du lösa det med javascript.
opener.location.href = "../secure/default.aspx";
Denna lilla kodsnutt skall skrivas ut i Popup-rutan innan den kör selt.close(); och den kommer då att leta upp den sida som öppnade popupen och kommer skicka den sidan till ../secure/default.aspx.
- Magnus
maqeMedlem sedan dec. 2003824 inlägg Jag har varit inne på det spåret hela tiden men får det inte att fungera.
Jag har en js fil som innehåller denna funktion
function CloseDialogAndRedirectParent()
{
opener.location.href = "../secure/default.aspx";
window.close();
}
Och i min dialogs codebehind har jag denna kod i en if sats om inloggningen lyckas ...
Page.RegisterStartupScript("close", "<script language='JavaScript'>CloseDialogAndRedirectParent();</script>");
När jag sedan testar min inloggning så lyckas inloggningen men sedan visar den parentfönstret i popupen. Mao körs inget script verkar det som ... Kan det ha nått med postback eller nått sånt att göra?
xrobxMedlem sedan mars 2003106 inlägg ...Eller så triggar du en "Submit" i ditt Parent-fönster från din PopUp genom att
skriva (efter att du har kollat användarnamn osv...):
'Förutsätter att du har ett formulär (Form1) i Parent-fönstret...
js = "<script>window.opener.document.form1.submit();</" & "script>"
response.Write(js)
Då kan du göra vilken form av redirect eller kontroll du vill i Parent-fönstrets
Page_Load event.
Ett tips är att i din PopUp skapa sessions-variabler som du kan kolla av i Page_Load
i Parent-fönstret. (ex. if session("inloggad") = "ja" then ...)
Kanske inte är det mest optimala men det funngerar bra för mig.
maqeMedlem sedan dec. 2003824 inlägg Fungerar inte att köra javascript sådär för mig ... för bara felmeddelande om att window.opener.document är null eller inte ett objekt ...
GladhMedlem sedan maj 20012 812 inlägg Du måste du göra något konstigt när du öppnar ditt pop-up fönster.
Gör du inte bara:
windows.open("URL","namn","settigns");
- Magnus
maqeMedlem sedan dec. 2003824 inlägg Såhär ser min funktion ut för att skicka upp inloggningsrutan
function ShowProperties() {
var strReturn
strReturn = window.showModalDialog("../popups/properties.aspx?id=" + myMenuId, "null", "resizable:yes;help:no;status:no;scroll:no;");
}
GladhMedlem sedan maj 20012 812 inlägg Okej!!
Är inte säker på hur det fungerar med ModalDialog, men om du gör om det till en vanlig open() funktion så kommer det att fungera.
- Magnus
Marcus EMedlem sedan maj 20021 466 inlägg showModalDialog() är en IE-specifik funktion som öppnar ett nytt fönster precis som window.open() med skillnaden att funktionen inte returnerar innan fönstret är stängt. Annars fungerar det ungefär som ett vanligt fönster.
Vill du att någon ska hända efter att fönstret stängts? Placera JScript-kod efter showModalDialog. Vill du stänga fönstret med en knapp? Prova <INPUT style="Z-INDEX: 101; LEFT: 104px; WIDTH: 104px; POSITION: absolute; TOP: 88px; HEIGHT: 32px" type=button value=Close onclick="window.close();">
IE-specifika funktioner kan du mycket väl använda. Tänk dock på att du alltid måste göra en lösning för alla andra webbläsare också i så fall. Det innebär mer jobb för dig.
I dokumentationen står det följande för IE-specifika funktioner:
"Standards Information
There is no public standard that applies to this method."