Avatar billede rastamand Nybegynder
13. januar 2005 - 16:28 Der er 7 kommentarer

ASP.Net login script med C#

Jeg er ganske ny med .Net og ASP iøvrigt også..

Jeg skal lave et simpelt script til login. Jeg har hentet web matirix som editor og der fundet et simpelt login script og det virker fint nok. Problemet er at jeg gerne vil have login til forskellige sider afhængigt af hvem der logger ind!

Koden til login knappen ser således ud:
------------------
void LoginBtn_Click(Object sender, EventArgs e) {

    if (Page.IsValid) {
        if ((UserName.Text == "username") && (UserPass.Text == "password")) {
           
            FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
        }
        else {
            Msg.Text = "Invalid Credentials: Please try again";
        }
    }
}
---------------------
"FormsAuthentication.RedirectFromLoginPage(UserName.Text, true)"
Redirecter til default.aspx, men kan man ikke directe til en given side efter eget valg??
Som jeg har forstået styres dette af web.config.. Men som sagt det er ganske nyt og har ikke kunnet finde info om specifict dette problem..

tak for hjælpen.
Avatar billede burningice Nybegynder
13. januar 2005 - 17:54 #1
hvis du skal have rolle-baseret login skal du kigge på, ja... rolebased authentication :)

Det er lidt mere kompliceret end normal login, og kan laves på mange forskellige måder.

Personligt kan jeg bedst lide ideen med at lave et nyt user-object der implementerer IPrincipal og IDentity, men der findes også mange sider på nettet der viser hvordan man kan tilføje roller til en bruger ved hjælp af global.asax.

der har lige været en del diskussioner omkring emnet på eksperten, en af dem findes her: http://eksperten.dk/spm/579769

Ellers så prøv at søg på Rolebased Authentication på google
Avatar billede rastamand Nybegynder
13. januar 2005 - 18:28 #2
Der er ingen måde at komme omkring det? - Sagen er jeg skal have 3 brugere, men 2 "interfaces".. Sitet er blot internt til noget statestik. Altså man kan ikke bestemme destination? - kun default.aspx?

jeg tænker noget a la:

void LoginBtn_Click(Object sender, EventArgs e) {

    if (Page.IsValid) {
        if ((UserName.Text == "username") && (UserPass.Text == "password")) {
           
            FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
        }
        else if ((UserName.Text == "username2") && (UserPass.Text == "password2") ||
                (UserName.Text == "username3") && (UserPass.Text == "password3")) {
            //ny destination....
            FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
        }
       
        else {
            Msg.Text = "Invalid Credentials: Please try again";
        }
    }
}

Det er givetvis dårlig kodning, men det ville være noget nemmere... :-/
Avatar billede rastamand Nybegynder
13. januar 2005 - 18:59 #3
ikke dårlig kodning, men muligvis forkert opbygning/tankegang, mente jeg..
Avatar billede burningice Nybegynder
13. januar 2005 - 19:00 #4
Du kan sagtens sende folk til de sider du har lyst... men det forhindrer dem jo ikke i at ændre adresse i deres browsere og se sider de ikke burde have adgang til.
Avatar billede rastamand Nybegynder
13. januar 2005 - 19:15 #5
Kan man ikke styre det via cookie tjek i Page_load funktionen? Men hvordan er det jeg sender folk til en given side så?
Avatar billede burningice Nybegynder
13. januar 2005 - 19:25 #6
du kan lave en manuel login, og bruge en simpel Response.Redirect.

Jooh, men hvorfor så bruge Forms Authentication i det hele taget så, og ikke bare lave sit eget loginsystem istedet ?

FormsAuthentication.SetAuthCookie(UserName.Text, true);
Response.Redirect("dinside.aspx", true);
Avatar billede rastamand Nybegynder
13. januar 2005 - 19:41 #7
Tak for info. Som sagt jeg har ikke meget forstand på dette og brugte Forms Authentication fordi det var koden i den template jeg nu brugte..
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
Kurser inden for grundlæggende programmering

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