Hi,
Ik ben bezig om een simpel inlogsysteem te maken in C# ASP.NET met WebForms. Ik heb hierbij zelf de code geschreven en maak niet gebruik van de authentication code die standaard meegeleverd wordt.
Het inloggen en registreren werkt prima, dit doe ik doormiddel van een SELECT (waarbij username veld gelijk is aan username in database en password veld gelijk is aan password in database). Het registerern gebeurd met een insert commando. Dit werkt allemaal prima, ook de foreign keys etc functioneren zoals het hoort.
Zodra iemand inlogt sla ik de username op in een cookie. Daarna stuur ik afhankelijk van de role (kolom in de database tabel van gebruikers) de gebruiker door naar de volgende pagina (deze pagina's probeer ik uiteindelijk te beschermen zodat je alleen als je ingelogd bent bij de pagina komt).
Om nu te kijken of alles werkt plaatste ik op de WebFormMijnGegevens pagina de volgende code, om te kijken of ik de username mee kreeg. Dit lukte niet waarna ik ook checkte of de gebruiker authenticated is.
Uiteraard is bovengenoemde niet voor in een werkende omgeving, het was puur om te testen of ik een waarde terug kreeg. De IsAuthenticated geeft een False.
Moet ik behalve de cookie bij het inloggen nog iets anders doen?
Ik ben 2e jaars student ICT en probeer zo veel mogelijk te leren door zelfstudie en door gewoon te doen. De basis hebben we in de les geleerd maar in- en uitloggen etc hebben we niet behandeld.
Een grote vereiste was het gebruik van een eigen SQL database server. Vandaar dat ik in het begin was afgestapt van de ingebouwde authentication methodes die je kunt aanvinken bij het maken van een project.
Ik hoop dat het zo een beetje duidelijk is wat ik wil.
Ik ben bezig om een simpel inlogsysteem te maken in C# ASP.NET met WebForms. Ik heb hierbij zelf de code geschreven en maak niet gebruik van de authentication code die standaard meegeleverd wordt.
Het inloggen en registreren werkt prima, dit doe ik doormiddel van een SELECT (waarbij username veld gelijk is aan username in database en password veld gelijk is aan password in database). Het registerern gebeurd met een insert commando. Dit werkt allemaal prima, ook de foreign keys etc functioneren zoals het hoort.
Zodra iemand inlogt sla ik de username op in een cookie. Daarna stuur ik afhankelijk van de role (kolom in de database tabel van gebruikers) de gebruiker door naar de volgende pagina (deze pagina's probeer ik uiteindelijk te beschermen zodat je alleen als je ingelogd bent bij de pagina komt).
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| protected void Button1_Click(object sender, EventArgs e) { string userName = Username.Text; bool loginState = ThisDAL.checkLogin(userName, Password.Text); string userRole = ThisDAL.checkRole(userName); if (loginState) { Label4.Text = "Succesvol ingelogd!"; FormsAuthentication.SetAuthCookie(Username.Text, CheckBox1.Checked); if (userRole == "klant") { Response.Redirect("WebFormMijnGegevens"); } else if (userRole == "sdm") { Response.Redirect("WebFormMedewerkers"); } else { Label4.Text = "Inloggen mislukt"; } //FormsAuthentication.RedirectFromLoginPage(Username.Text, CheckBox1.Checked); } else { Label4.Text = "Inloggen mislukt"; } } |
Om nu te kijken of alles werkt plaatste ik op de WebFormMijnGegevens pagina de volgende code, om te kijken of ik de username mee kreeg. Dit lukte niet waarna ik ook checkte of de gebruiker authenticated is.
code:
1
| Label4.Text = HttpContext.Current.User.Identity.IsAuthenticated + HttpContext.Current.User.Identity.Name; |
Uiteraard is bovengenoemde niet voor in een werkende omgeving, het was puur om te testen of ik een waarde terug kreeg. De IsAuthenticated geeft een False.
Moet ik behalve de cookie bij het inloggen nog iets anders doen?
Ik ben 2e jaars student ICT en probeer zo veel mogelijk te leren door zelfstudie en door gewoon te doen. De basis hebben we in de les geleerd maar in- en uitloggen etc hebben we niet behandeld.
Een grote vereiste was het gebruik van een eigen SQL database server. Vandaar dat ik in het begin was afgestapt van de ingebouwde authentication methodes die je kunt aanvinken bij het maken van een project.
Ik hoop dat het zo een beetje duidelijk is wat ik wil.