21.07.2013 Views

Kap 16_Java for Web.pdf - Akademika forlag

Kap 16_Java for Web.pdf - Akademika forlag

Kap 16_Java for Web.pdf - Akademika forlag

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Java</strong> <strong>for</strong> <strong>Web</strong>.book Page 315 Tuesday, September 24, 2002 6:07 PM<br />

Case-studie II : "e-sjappe"<br />

public boolean valider_logginn(<br />

HttpServletRequest spørsmål)<br />

{<br />

HttpSession s = spørsmål.getSession();<br />

try// Sjekker om bruker og passord er riktig<br />

{ // hvis ikke invalidiseres session-objektet.<br />

Statement stmt = dbForbindelse.createStatement();<br />

String sql = "select * from kunde where brukernavn='"<br />

+spørsmål.getParameter("navn")+"';";<br />

ResultSet rs = stmt.executeQuery(sql);<br />

rs.next();<br />

String passord = spørsmål.getParameter("passord");<br />

if (passord.equals(rs.getString("passord")))<br />

{<br />

s.setAttribute("brukernavn",<br />

rs.getString("brukernavn"));<br />

s.setAttribute("status",<br />

rs.getString("status"));<br />

rs.close();<br />

stmt.close();<br />

return true;<br />

}<br />

else<br />

{<br />

s.invalidate();<br />

}<br />

}<br />

catch (Exception e)<br />

{<br />

s.invalidate();<br />

}<br />

return false;<br />

}<br />

Valider_logginn sender en <strong>for</strong>espørsel til databasen <strong>for</strong> å fremhente in<strong>for</strong>masjon om<br />

kunden. SQL-setningen som benyttes er:<br />

select *<br />

from kunde<br />

where brukernavn='(BRUKERNAVN)';<br />

Hvis kunden ikke er registrert, returnerer valider_logginn sannhetsverdien "false". Hvis<br />

kunden er registrert i databasen, sammenliknes det lagrede passordet med det passordet<br />

som er oppgitt av brukeren. Hvis passordene er identiske gis brukeren adgang til<br />

nettbutikken, brukernavnet lagres i seanseobjektet på tjeneren sammen med brukerens<br />

status som er gitt av status-attributten i bruker-tabellen (enten "kunde" eller "admin"),<br />

og valider_logginn returnerer sannhetsverdien "true". Hvis passordet i databasen og<br />

315

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!