Avatar billede fbisen Nybegynder
01. juli 2004 - 16:58 Der er 14 kommentarer og
1 løsning

Husk login

Jeg har en form, som henter bruger og kodeord ind. De bliver tjekket i en fil, om de er iorden.
Kan man gøre sådan, at man bliver auto logget ind hver gang, hvis man fx hvis man afkrydser checkbox. Jeg ved ikke helt hvordan det skal laves, om det skal laves ude på siden (jsp) eller selve programmet (java). Jeg vil helst det bliver lavet i selve programmet, da det er det som passer bedst ind.
Det skal vel laves i en cookie eller sådan noget?


<form:form action="/pages/login.do" focus = "user">
<form:text property="user" />
<form:password property="password" />
<input type="submit" value="Login">
</form:form>


På forhånd tak for hjælpen!
Avatar billede arne_v Ekspert
01. juli 2004 - 21:26 #1
Du vil have lavet en struts app som hvis brugernavn/password er gemt i cookie
logger automatisk ind med dem og ellers giver en login form ?
Avatar billede fbisen Nybegynder
01. juli 2004 - 21:28 #2
Ja.
Altså det er lavet på den måde. At hvis "CurrentUser" (hvis man er logget ind findes den) er der, så er der nogle andre ting der bliver vidst. Og hvis den ikke er der, er der en login.
Et andet problem er også, hvis man nu går ind på en side, så skal man også gerne blive på den side. Og ikke bliver smidt over på en anden...
Avatar billede simonvalter Praktikant
02. juli 2004 - 05:13 #3
Måske kan du bruge dette:
Den første er best practices hvis du vil bruge cookie login.

http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice

Den næste er bare en implementation af login med struts..godt nok uden cookie men det kan vel implementeres.

http://heanet.dl.sourceforge.net/sourceforge/struts/struts-logon.zip


Og så kan jeg anbefale jsf hvis du ikke allerede har kigget på det, det er ret nice og selv om der er overlap imellem jsf og frameworks som struts så kan de saktens bruges sammen. jsf er helt sikkert nemmere at arbejde med.
Sun er lige kommet ud med Sun Java Studio Creator http://wwws.sun.com/software/products/jscreator/
Kan helt sikkert anbefales at prøve.
Avatar billede simonvalter Praktikant
02. juli 2004 - 05:30 #4
jeg er ikke helt sikker på hvad du siger i din kommentar, men det lyder som om at du skal bruge security-role's for at vise bestemte ting når man er logget ind og andre når man ikke er.

i jsp kan man bruge
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
og så en masse
<c:if test="${managedBean.isLoggedOn}">
//vis dette
</c:if>

i jsf er det belevet noget smartere, jeg er desværre ikke kommet mere end halvejs i den bog jeg har gang i så jeg er ikke helt inde i det endnu.
men sådan her kan man f.eks disable en button

  <h:commandButton value="Reject"
// hvis false, bliver aldrig bedt om at render sig selv (blive vist)
            rendered="#{reportHandler.rejectRendered}"
// hvis true, kan ikke trykkes
            disabled="#{reportHandler.rejectDisabled}" />
Avatar billede simonvalter Praktikant
02. juli 2004 - 05:48 #5
Jeg sidder og kigger i en bog > Mastering jakarta struts, James Goodwill
og der sætter han en atribut i brugerens Session når han logger ind. og så bliver der hellers testet om den atribut er til stede hvor gang der skal udføres en action, hvis den action kræver at brugeren er logget ind bliver de redirectet til login siden.
i selve siden bliver det klaret sådan her

<%@ taglib uri="/WEB&#8722;INF/struts&#8722;logic.tld" prefix="logic" %>
<logic:notPresent name="USER">
<logic:forward name="login" />
</logic:notPresent>

det konkrete taglib må du selv lige undersøge nærmere hvis du vil bruge det ;)
Avatar billede simonvalter Praktikant
02. juli 2004 - 05:51 #6
&#8722; = -
jeg ved ikke hvad der skete for eksperten der.
Avatar billede simonvalter Praktikant
02. juli 2004 - 06:19 #7
hvis du ikke har rodet med cookies så er der lidt læsning her hvor der bliver lavet en counter + autologin i jsp
http://www.sitepoint.com/article/parts-1-8-tagged-bagged/30
http://www.sitepoint.com/article/parts-1-8-tagged-bagged/31
Avatar billede simonvalter Praktikant
02. juli 2004 - 06:27 #8
"Et andet problem er også, hvis man nu går ind på en side, så skal man også gerne blive på den side. Og ikke bliver smidt over på en anden..."

Du bruger vel ikke container managed security?
for så vil den smide dig til login siden hvis du ikke er logget ind hvis brugeren bevæger sig ind i den path som er beskyttet.

jeg ved ikke om man kan påvirke container managed security på nogen måde så den ikke prøver at redirecte dig.. men jeg tror det ikke, brug istedet din egen funktion til at validere om brugeren er logget ind.
Avatar billede fbisen Nybegynder
02. juli 2004 - 18:46 #9
Alt det der har jeg.
Det jeg skal bruge, er en cookie laver, som helst skulle være krypteret.

Og det med at man ikke skal blive smidt over på en anden side, vil sige, at hvis man nu har 15 sider, som alle har den samme form, så skal man ikke blive smidt over på side 1, hvis man nu er på side 15. Så skal man poste det i formen, og komme på side 15.
Avatar billede simonvalter Praktikant
03. juli 2004 - 03:03 #10
hvordan du laver en cookie krypteret er ikke lige noget jeg vil rode med nu desværre ;) men jeg tror jeg har svaret på det andet spørgsmål i din anden tråd.
Avatar billede fbisen Nybegynder
03. juli 2004 - 10:11 #11
Jeg har kigget på de artikler, og jeg kan godt se de laver en cookie.
Men hvordan kan man lave en cookie, med 2 Strings i. Jeg skal jo bruge både kodeord og brugernavn i den cookie.
Avatar billede simonvalter Praktikant
03. juli 2004 - 10:26 #12
Jeg vil tro du tilføjer flere til dit response.. men hæng mig ikke op på det jeg gætter her.

Cookie userCookie = new Cookie("username", username);
userCookie.setMaxAge(60*60*24*365);
response.addCookie(userCookie);
userCookie = new Cookie("password", password);
userCookie.setMaxAge(60*60*24*365);
response.addCookie(userCookie);

prøv og læs din cookies efter det.
Avatar billede fbisen Nybegynder
08. december 2004 - 12:38 #13
Hejsa igen. Et meget langsomt svar...

Jeg kan godt bruge det der. Men hvordan læser man den igen ?
Desuden vil jeg gerne kryptere indholdet, det ved jeg heller ikke hvordan man gør. Kan du hjælpe?
Avatar billede fbisen Nybegynder
12. december 2004 - 16:30 #14
Nu har jeg selv fixet det hele.
Det virker godt - tak for det.
Derfor får du simonvalter points. Læg venligst et svar!
Avatar billede simonvalter Praktikant
12. december 2004 - 19:34 #15
ok
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