Avatar billede charly Nybegynder
06. januar 2004 - 16:50 Der er 9 kommentarer og
1 løsning

login, hvor henter man username?

Hej alle,

Hvor og gemmes 'UserName' og ikke mindst, hvordan 'fisker' jeg det frem igen?

I gamle dage med asp 3.0 lavede man session tricket på hver side, men jeg har hørt man gør noget smartere i dag ;-)

Kan man tvinge en subklasse til at køre en metode på en superklasse eller noget ligende?


Jeg har følgende kode til en loginpage

<%@ Page Language="C#" %>
<script runat="server">
    void LoginBtn_Click(Object sender, EventArgs e) { 
        if (Page.IsValid) {
            if ((UserName.Text == "aminet") && (UserPass.Text == "test")) {
                FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
            }
            else {
                Msg.Text = "Invalid Credentials: Please try again";
            }
        }
    }
</script>
Avatar billede nielsbrinch Nybegynder
06. januar 2004 - 17:26 #1
Jeg bruger Session.
Avatar billede repsak Nybegynder
06. januar 2004 - 17:39 #2
brug HttpContext.Current.User.Identity.Name
Avatar billede burningice Nybegynder
06. januar 2004 - 17:41 #3
Du bruger IIdentity-interfacet, som har en property til at hente usernamet ud med.

For at få fat i det IIDentity-object som er knyttet til din Context kan du bruge HttpContext.Current.User.Identity
Avatar billede charly Nybegynder
06. januar 2004 - 20:26 #4
Lyder fornuftigt, men har i et kodeeksempel? Jeg forsøgte at trække navnet ud med HttpContext.Current.User.Identity, men det var tilsyneladende tomt?
Avatar billede burningice Nybegynder
06. januar 2004 - 22:49 #5
der får du kun fat i selve interfacet... for at hente usernamet skal du bruge propertien Name, som repsak også skriver
Avatar billede repsak Nybegynder
07. januar 2004 - 10:50 #6
Konkret eksempel:
if(HttpContext.Current.User.Identity.IsAuthenticated)
    labLoginInfo.Text = string.Format("Du er logget ind som: {0}.", HttpContext.Current.User.Identity.Name);

else
    labLoginInfo.Text = "Du er ikke logget ind.";
Avatar billede charly Nybegynder
07. januar 2004 - 11:31 #7
Sorry cyberfessor, men jeg vidste ikke hvordan, man fordelte point'sne :-)

Håber du overlever! ;-)
Avatar billede charly Nybegynder
09. januar 2004 - 10:00 #8
Det her er da hamrende smart i forhold til brug af session styret proctection!!!

Man skal jo slet ikke teste på om brugeren er logget ind i starten af ens kode mere!
Avatar billede nielsbrinch Nybegynder
09. januar 2004 - 10:50 #9
Det lyder smart ... hvordan ved asp.net at siden skal beskyttes hvis man ikke skriver det et eller andet sted, noget lignende det repsak har skrevet?
Avatar billede charly Nybegynder
09. januar 2004 - 11:35 #10
Fordi man kan fortælle asp.net, at alle sider i et givent katalog kræver login!
Via en web.config xmlfil kan man bestemme hvilke foldere der kræver login. Så hvis du kalder en URL på en side, som ligger i denne folder ved asp.net at den skal redirecte til login.aspx siden!
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