webForumDet fria alternativet

OnAuthenticate, std Login form

7 svar · 683 visningar · startad av Sjodahl

SjodahlMedlem sedan maj 20033 218 inlägg
#1

Hej!

Precis lagt till en "Login Component" i VS2005. En sådan man bara drar rakt in i projektet. Men blir inte klok på hur jag grejjar ihop den med mina users eller hur den fungerar riktigt.

"OnAuthenticate" var hittar jag den metoden?

<asp:Login ID="Login1" runat="server" Height="144px" Width="324px" OnAuthenticate="Login1_Authenticate">
</asp:Login>
SjodahlMedlem sedan maj 20033 218 inlägg
#2

Nu förhastade jag mig nog lite ;)

Synd man inte kan radera sina trådar!

cyprysMedlem sedan dec. 20003 563 inlägg
#3

Du skapar den själv.
Sök på OnAuthenticate på t.ex. https://www.asp.net eller hos microsoft.

edit: Nope, du får stå ditt kast! ;)

SjodahlMedlem sedan maj 20033 218 inlägg
#4

Tackar skall ta en titt!
Mycket som är lite dimmigt ibörjan ;)
Får väl bli min skrot tråd med massa dumma frågar så jag slipper fylla hela forumet!

SjodahlMedlem sedan maj 20033 218 inlägg
#5

Är det typ formsauthentication man använder ?
Måste jag ändra något i web.config

För just nu ser den ut som std:

<?xml version="1.0" encoding="utf-8"?>
	<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
</configuration>
SjodahlMedlem sedan maj 20033 218 inlägg
#6

Blir inte riktigt klok på denna: OnAuthenticate hur jag skall Autha och connecta till min mysql ;)

Lyckas kontroller om användaren finns iallafall. Då skall man bara sätta lite variabler med.. hmm

SjodahlMedlem sedan maj 20033 218 inlägg
#7
                if (MyDataReader.GetString(0).ToString() == "1")
                {
                    [B]FormsAuthentication.SetAuthCookie(Login1.UserName, false);[/B]
                    Response.Redirect("mainpage.aspx");
                }
                else
                {
                    Login1.FailureText = "Incorrect username or password!";
                    label.Text = "No user!";
                  
                }

Pillar vidare ;)

cyprysMedlem sedan dec. 20003 563 inlägg
#8

Hos msdn används ett komplett exempel på en tankemässigt enkel lösning.

<%@ page language="C#"%>
<script runat="server">
    // This custom login control overloads the OnAuthenticate method
    // to call a site-specific authentication method.    
    class CustomLogin : Login
    {
        private bool SiteSpecificAuthenticationMethod(string UserName, string Password)
        {
            // Insert code that implements a site-specific custom 
            // authentication method here.
            //
            // This example implementation always returns false.
            return false;
        }
        
        override protected void OnAuthenticate(AuthenticateEventArgs e)
        {
            bool Authenticated = false;
            Authenticated = SiteSpecificAuthenticationMethod(UserName, Password);

            e.Authenticated = Authenticated;
        }
    }
    
    // Add the custom login control to the page.
    void Page_Load(object sender, EventArgs e) 
    {
        CustomLogin loginControl = new CustomLogin();
        loginControl.ID = "loginControl";
        Placeholder1.Controls.Add(loginControl);
    }

</script>
<html>
    <body>
        <form runat="server">
            <asp:placeholder id="Placeholder1" runat="server"></asp:placeholder>
        </form>
    </body>
</html>

Kopplingen till användardatabasen sker alltså enklast i SiteSpecificAuthenticationMethod.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)