Avatar billede florint Nybegynder
04. januar 2005 - 13:26 Der er 7 kommentarer og
1 løsning

Login - redirect til side

Hej
Indrømmet jeg er absolut så grøn som man kan være, udi asp.net.
Jeg har siddet og fiflet med et loginscript og det fungerer sådan set også, bare det at jeg kan ikke opklare følgende:
Hvorfor ser adressen sådan her ud - http://www.mitdomæne.dk/login.aspx?ReturnUrl=%2fdefault.aspx.
Når jeg redirecter til en website kører det fint, men prøver jeg på default.aspx så tilter det ?? Koden er her:

Web.config:
<configuration>
<system.web>
<authentication mode = "Forms"/>
<authorization>
<deny users = "?"/>
</authorization>
</system.web>
</configuration>


Login.aspx:
<%@ Page Language="VB" %>
<%@ import Namespace="System.Data" %>
<script runat="server">

    ' Insert page code here
    '
   
    Sub btnSubmit_Click(sender As Object, e As EventArgs)
        If IsValid then
          If XMLAuthentication(txtUsername.Text,txtPassword.Text) Then
            Response.Redirect("http://www.yahoo.com")
          End If
        End If
    End Sub
   
    Function XMLAuthentication(strUsername as String, strPwd as String) As Boolean
   
    Dim dstPwd as DataSet
    Dim dtblPwd as DataTable
   
    Dim users() as DataRow
    dstPwd = New DataSet()
    dstPwd.ReadXML(MapPath("Pwd.xml"))
   
    dtblPwd = dstPwd.Tables(0)
    Users = dtblPwd.Select("name = '"& strUsername & "' ")
   
    if users.Length > 0 Then
    if users(0)("pwd") = strPwd Then
    Return True
    Else
    lblStatus.Text = "Forkert Password"
    End If
    Else
    lblStatus.Text = "Brugernavn eksisterer ikke"
    End If
    Return False
    End Function

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p>
            <asp:Label id="lblUsername" runat="server" ForeColor="DarkBlue">Brugernavn</asp:Label>
            <asp:TextBox id="txtUsername" runat="server"></asp:TextBox>
        </p>
        <p>
            <asp:Label id="lblPassword" runat="server" ForeColor="DarkBlue">Password</asp:Label>
            <asp:TextBox id="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
        </p>
        <p>
            <asp:Button id="btnSubmit" onclick="btnSubmit_Click" runat="server" Text="Knap"></asp:Button>
        </p>
        <p>
            <asp:Label id="lblStatus" runat="server" ForeColor="DarkBlue"></asp:Label>
        </p>
        <!-- Insert content here -->
    </form>
</body>
</html>

default.aspx:
starten af koden - der kan muligvis mangle...
<%@ Page Language="VB" %>
<script runat="server">

    ' Insert page code here
    '
   
    Sub Button1_Click(sender As Object, e As EventArgs)
          Label1.Text = "Hej " & TextBox1.Text & " Du valgte følgende dato: " & Calendar1.SelectedDate
   
    End Sub

</script>
<html>
<head>
</head>
<body>
    <form runat="server">

På forhånd tak
Avatar billede anhansen Nybegynder
04. januar 2005 - 13:30 #1
Din url ser ud som den gør fordi du har angivet login.aspx som login side i din web.config. Og så går den over til den - og angiver returnUrl som den side du efterspurgte således du kan komme tilbage til den når du har logget ind.

Giver det mening? Og var det overhovedet det du spurgte om?
Avatar billede florint Nybegynder
04. januar 2005 - 13:45 #2
:-) Næsten...Jeg skal starte med login.aspx - men istedet for at redirecte til en website, ville jeg gerne redirecte til default.aspx, og det gør den ikke selvom jeg udskifter www adressen med default.aspx
Jeg tror det var det jeg spurgte om.
Mvh
Avatar billede anhansen Nybegynder
04. januar 2005 - 13:55 #3
Jeg tror ikke helt jeg forstår...
Avatar billede guidmaster Nybegynder
04. januar 2005 - 14:22 #4
Er det dette du vil?
If XMLAuthentication(txtUsername.Text,txtPassword.Text) Then
  FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, False)
End If
Avatar billede gulkings Nybegynder
04. januar 2005 - 14:49 #5
Mener bare du kan bruge:
Response.Redirect("default.aspx").
Har du husket at sætte login.aspx til initial start page i dit projekt?
Avatar billede florint Nybegynder
04. januar 2005 - 17:51 #6
Så -nu er jeg på glatis :-) kommentar 14.22.39 , jeg tror det er noget i den stil. Jeg vil have mulighed for at få login.aspx frem når jeg går ind på mit domæne - når brugernavn og password er slået op, vil jeg viderestilles til min normale default.aspx.
kommentar 14.49.06 - hvor sætter jeg login til initial ? Koden er som ovenfor. først en web.config, så en login.aspx og så starten af men default.aspx
Avatar billede anhansen Nybegynder
05. januar 2005 - 08:03 #7
Du kan også bare sætte et forms tag under dit authentication.
Det er sådan jeg gør det - og så en lille kode i login.aspx efter at du har verificeret password.

web.config
...
<authentication mode="Forms">
            <forms loginUrl="Login.aspx" timeout="30" />
        </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
...

login.aspx
// Redirect back to original URL.
Response.Redirect(FormsAuthentication.GetRedirectUrl(sEmail,isPersistent));
Avatar billede florint Nybegynder
11. juli 2005 - 18:06 #8
ingen svar? så lukker vi!
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
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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