Toon posts:

[ASP.NET] Sessies + cookies, wie wat waar?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben een beetje verward, ik heb al het een en ander gelezen over sessies & cookies maar ik snap nog niet helemaal wanneer nou wat wordt gebruikt.

Ik heb gelezen dat in de standaard omgeving de sessionID bij de client als cookie wordt opgeslagen. Maar wat gebeurt er nu met de session variablen?

code:
1
2
Session("naam") = naam
Session("password") = password


Ik heb dit aangemaakt en de naam en het passwordt worden correct gezet! :)
(ik kan ze netjes ergens anders uitlezen, dus dat is top)

maar waar worden deze variabelen nu opgeslagen? Op de server of bij de client in zijn cookie?

Ik wil verder ook nog de tijdelijke bestel/shop gegevens van de website bezoekers op deze manier gaan opslaan, is dit een verstandige manier of niet?

Is deze manier tevens secure?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Sessions worden opgeslagen op de server; De SessionID worden als een soort cookie bij de client geplaatst.

Maar waarom werk je niet met Forms Authentication?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Session variabelen worden op de server opgeslagen. Deze worden op de server weer opgezocht aan de hand van het sessieID wat in de cookies op de client staat

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
wat ik begrepen heb is dat als je forms authentication gebruikt dit meteen voor de hele pagina gaat gelden.

dus als je een web.config en een login plaatst in de root van je wwwroot, bij ieder bestand wordt gecontroleerd of je bent ingelogd of niet en zoniet wordt je naar de login geredirect.

Ik wil de bezoekers de gelegenheid geven om lekker met hun mandje te spelen en pas als ze besluiten om naar de "kassa" te gaan zijn ze verplicht om ingelogd te zijn.

Dus vandaar mijn session/cookie keuze

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 06 november 2002 @ 15:06:
wat ik begrepen heb is dat als je forms authentication gebruikt dit meteen voor de hele pagina gaat gelden.

dus als je een web.config en een login plaatst in de root van je wwwroot, bij ieder bestand wordt gecontroleerd of je bent ingelogd of niet en zoniet wordt je naar de login geredirect.

Ik wil de bezoekers de gelegenheid geven om lekker met hun mandje te spelen en pas als ze besluiten om naar de "kassa" te gaan zijn ze verplicht om ingelogd te zijn.

Dus vandaar mijn session/cookie keuze
Hmmm.. Dit kan je ook per folder of zelfs per bestand regelen, welke wel allowed zijn voor unauthenticaded users en welke niet...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Hmmm.. Dit kan je ook per folder of zelfs per bestand regelen, welke wel allowed zijn voor unauthenticaded users en welke niet...
waar, hoe?
dit heb ik nog nergens gelezen?

Ik heb alleen gelezen dat het geld voor alle bestanden+sub directories...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<location path="inschrijven.aspx">
    <system.web>
        <authorization>
        <allow users="*" />
        </authorization>
    </system.web>
</location>
....
<system.web>
    <!-- Authentication Method -->
    <authentication mode="Forms">
        <forms name=".PROSIM" loginUrl="login.aspx" protection="All" timeout="60" />
    </authentication>
    <!-- Authorization Method -->
    <authorization>
        <deny users="?" />
    </authorization>
</system.web>

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ik probeer het nu precies andersom, dus alle pagina's allowed behalve de paar "secure" files:

web.config
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
<?xml version="1.0" encoding="UTF-8" ?>

<configuration>
<location path="">
<system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
  </system.web>
</location>

<location path="kassa.aspx">
  <system.web>
      <authentication mode="Forms">
        <forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" />
      </authentication>
      <authorization>
        <deny users="?" />
      </authorization>
    <globalization requestEncoding="UTF-8" responseEncoding="UTF-8" />
  </system.web>
</location>
</configuration>


error: (in line 15)
code:
1
2
3
4
5
6
7
8
9
10
11
Parser Error Message: It is an error to use a section registered as 
allowDefinition='MachineToApplication' beyond application level. 
This error can be caused by a virtual directory not being configured as an application in IIS.

Source Error: 

Line 13: <location path="kassa.aspx">
Line 14:   <system.web>
Line 15:       <authentication mode="Forms">
Line 16:         <forms name=".ASPXUSERDEMO" loginUrl="login.aspx" protection="All" timeout="60" />
Line 17:       </authentication>


de kassa.aspx staat absoluut in een virtual directory, het heeft voorheen nl gewerkt maar ben toen afgezien van deze methode.

Ik kan nu wel de index.aspx gewoon bekijken zonder verplicht in te loggen, maar zodra ik naar kassa.aspx ga krijg ik de error

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Je hebt hem toch wel gedefinieerd als application in IIS?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
ja in IIS is het zo'n grijs doosje met wat groens erin, en de application name is dev
ik browse nu ook naar localhost/dev/kassa.aspx dus dat moet kloppen toch?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 06 november 2002 @ 16:08:
ja in IIS is het zo'n grijs doosje met wat groens erin, en de application name is dev
ik browse nu ook naar localhost/dev/kassa.aspx dus dat moet kloppen toch?
Grijs doosje met wat groens erin???
En de application name staat er, maar is deze ook grayed? Anders moet je op de createbutton rammen...

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
in IIS kan je nieuwe virtual folders aanmaken, die krijgen een application naam, eigenschappen instellen, restart en het werkt :)

ik denk dat er toch iets mis is met die web.config

Verwijderd

Topicstarter
het was de web.config :)

Zo werkt ie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8" ?>

<configuration>
    <!-- forms based authentication -->
    <system.web>
      <!-- enable Forms authentication -->
      <authentication mode="Forms">
        <forms name="IBuySpyStoreAuth" loginUrl="login.aspx" protection="All" path="/" />
      </authentication>
    </system.web>
      <!-- set secure paths -->
    <location path="kassa.aspx">
      <system.web>
        <authorization>
          <deny users="?" />
        </authorization>
      </system.web>
    </location>
  </configuration>


thnx gorgi_19, je hebt me weer op het goeie spoor gezet! :)

Verwijderd

Topicstarter
HET WERKT!! :):)

super sweet! ben weer helemaal gelukkig

nu eens ff uitzoeken hoe ik dit combineer met een winkelwagentje :P

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 29-08 12:08

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 06 november 2002 @ 16:59:
HET WERKT!! :):)

super sweet! ben weer helemaal gelukkig

nu eens ff uitzoeken hoe ik dit combineer met een winkelwagentje :P
Als je bezig bent, kan je imho ook net zo goed kijken naar Role Based Security..:)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1