Hej Det här med att session variabler belastar servern är väl sant men hur många samtidiga besökare kommer du att igentligen att ha? Det skall krävas rejält med samtidiga användare för att servern skall "såsa". Den säkraste metoden är att göra en egen sessions hantering med en databas som lagring. Har själv byggt en sådan som jag använder i större projekt. En skiss kan se ut som följande:Cookie istället för session på inloggningen
Jag utvecklar nu ett inloggningssystem där jag hade tänkt att inte på något sätt använda sessions. Detta för att spara på servens resuser.
Nu till frågan
Sajten kommer att ha många olika grupper och accessnivåer. Dessa hade jag tänkt att lagra i cookiefilen. Men, dessa går ju då ganska lätt att ändra för användaren och på så sätt ändra sin accessnivå.
Är det bättre att lagra användarnamnet (vilket är unikt) i cookiefilen och på varje sida deklarera nya variabler så som access, grupp, mm. Eller kommer detta belasta serven onödigt mycket?
Tacksam för svar.
Länge leve PelleSoft.Sv: Cookie istället för session på inloggningen
Om du har en standard server så kommer du inte att märka någon skillnad vad du än gör.
Jag har använt sessions variabler på flera siter och har inte märk någon skillnad mellan att spara information i sessions variabler eller cookies.
Så skall du inte ha ofantligt många besökare kan du gått använda dig av sessions variabler. De är bra och till för att användas.
Nu så skall man väl inte överdriva antalet cookies och värden i dem. Jag brukar sparas användarens id i dem och göra uppslag mot det.
Trimma upp hastigheten med en bra databasstruktur och bra frågor iställer. Det är där jag märkt att "flaskhalsen" är.Sv: Cookie istället för session på inloggningen
1. När användare loggar in genereras en GUID som placeras i en cookie hos användaren.
2. Ett session objekt skapas i tabellen "tblSession" i databasen med en motsvarande GUID som nyckel
3. När man sedan sparar session variabler skapas en post i tabellen "tblSessionValue" med en foreign key
I "tblSession" kan man tänkas lagra sessions parametrar som t ex vilken tid den skapades, när den senast accessades osv för att bygga funktionalitet för t ex timeout.
Funktionerna för att lagra och hämta data från ditt sessions objekt lägger du i en include fil i de sidor där du vill använda dig av sessionshantering.
Interfacet mot dessa kan se ut som följer:
SessionGet("UserID")
SessionSet("UserID","1")
Själva hämtandet av cookie GUIDen läggs i include filen så det ända man behöver göra is ASP koden är att anropa sina egna session funktioner istället för IIS'ens.
Enligt denna modell kan man enkelt skala upp sin lösning att köra i en sk. web farm med flera applikationsservrar och "load balancing" och ändå behålla sina sessions variabler. Men det är definitivt ingen snabbare lösning än att använda sig av den inbyggda sessions hanteringen.
/Mattias
------------------
This is your life and its ending one minute at a time
-Taylor Durden
------------------