Avatar billede judas Nybegynder
09. december 2002 - 13:46 Der er 12 kommentarer og
1 løsning

Sessions i servlets

Jeg er ved at udvikle en applikation som skal kunne håndtere forskellige brugere.
Login foregår via en html-form som kræver brugerId og password. Herefter foregår alt med servlets.
Mit spørgsmål går på hvordan man får implementeret sessions - evt. et link til et godt eksempel vil kunne gøre det!
HUSK - Jeg er total newbie indenfor sessions...
Alternative løsninger til sikkerhed er også velkomne!
Avatar billede mfalck Praktikant
09. december 2002 - 13:48 #1
brug struts - den klarer det meste af det med at sætte variable for dig. (http://jakarta.apache.org/struts/index.html)
Avatar billede arne_v Ekspert
09. december 2002 - 13:51 #2
Sessions er en standard del af servelets !

Din service metode bliver kaldt med et request
objekt, som har en getSession metode.
Avatar billede arne_v Ekspert
09. december 2002 - 13:53 #3
Se f.eks.:
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets11.html#63281
for mere info (det vil være lidt omfattende at gennemgå
servlet sessions her).
Avatar billede judas Nybegynder
10. december 2002 - 13:45 #4
Når man har oprettet en session hvordan får man så givet sessions ID´et med videre så brugeren får adgang til sine personlige sider?
Avatar billede arne_v Ekspert
10. december 2002 - 14:05 #5
Når du gemmer noget i session objektet, så er det der
for alle requests i den session d.v.s. du kan hente
det igen fra alle requests.

Og du kan evt. ændre indholdet alt efter hvad der
er i session objektet, hvis du vil til at lave
portal funktionalitet.
Avatar billede judas Nybegynder
11. december 2002 - 22:30 #6
Det jeg mener er hvordan jeg ved oprettelse af session í een servlet kan verificere mig selv når jeg linker til en anden servlet. Nu har jeg oprettet en session og skal vise en bruger sin personlige "start" side hvor han har et link til en html side som kun han skal kunne se. Hvordan opnår jeg det. Jeg vil ikke have at den html side han har et link til kan ses af andre..
Avatar billede arne_v Ekspert
12. december 2002 - 09:47 #7
Når du har valideret en bruger så gemmer du
noget identifikation i sessionen omkring ham.

Så kan du i en anden servlet (eller JSP side)
teste på den info og generere forskellige links
(elle rmåske slat inge n links) afhængig af hvem
det er.
Avatar billede judas Nybegynder
12. december 2002 - 15:13 #8
Men hvad er så det der gør links unikke når de gives med i en servlet som man ganske vist kun har adgang til med en gyldig session. Hvad forhindrer f.eks. at man blot indtaster URL´en til en html-side og herved får den vist??
Avatar billede arne_v Ekspert
12. december 2002 - 16:47 #9
Det kan du ikke forhindre.

For en HTML side.

Men du kan forhindre det for en servlet eller en JSP side.

Fordi der kan du teste om det er en valideret bruger
og hvis ikke, så bare give ham en "Ingen adgang" side.
Avatar billede judas Nybegynder
12. december 2002 - 17:00 #10
Det vil sige at jeg for at opnå den sikkerhed jeg ønsker (du har vel fået en ide med det jeg har skrevet tidligere) med sessions skal jeg lade mine servlets "responderer" med html-kode!?!
Jeg har søgt efter et godt eksempel på hvordan en bruger skal gives adgang til forskellige servlets efter han er valideret, da det er det jeg ikke helt kan hitte ud af.
Jeg har nu knyttet en attribut til session objektet, men hvordan skal en ny servlet vide hvad den skal tjekke på?
Kan man ikke bare tjekke på session ID? Men hvor skulle den nye servlet vide fra hvilket session ID der er korrekt?
Avatar billede arne_v Ekspert
12. december 2002 - 17:03 #11
Løsningen på det hedder JSP !

En JSP fil er en HTML hvor man kan skrive Java kode
ind imellem - Java kode som bliver udført på server
og som brugeren derfor ikke kan se eller undgå.

Groft sagt kan du omdøbe din .html fil til .jsp og sætte
Jaba kode ind der checker for session.
Avatar billede judas Nybegynder
13. december 2002 - 11:44 #12
Det funker tilnærmelsesvist nu - men hvordan slår man en session helt ihjel. Jeg kan kun invalidate den og slette dens attributter. Er det det levn der gemmes i cookies som den læser?
Avatar billede arne_v Ekspert
14. december 2002 - 11:23 #13
En bruger vil jo altid have en session. Men invalidate
burde være nok til at gøre den uinteressant.
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