Avatar billede trp79 Nybegynder
28. oktober 2004 - 12:03 Der er 9 kommentarer og
2 løsninger

Logge af i forbindelse med container managed declarative security

Hej igen
Jeg har fulgt arne_v artikkel omkring container managed declarative security(). Jeg har to spørgsmål til dette:

1) Jeg har en startside, hvor der kan indtastes brugernavn og password. Når der trykkes ok så skal framen så opdateres således at man få nogle menu funktioner alt afhænig af om man er user eller admin. Hvordan kan man gøre dette?

2) Hvordan laver jeg en logaf? Så sessionen afsluttes(er det ikke det det hedder) og man returneres til index.jsp, hvor man kan logge på igen.

På forhånd tak, mvh
Torben
Avatar billede simonvalter Praktikant
28. oktober 2004 - 14:10 #1
2) vil jeg gætte på at du kan med
session.invalidate();
response.sendRedirect("index.jsp")
men jeg bruger selv servlet filter med jsf så har aldrig prøvet det.

1 er også rimlig let i jsf .. kan man ikke bare redirect til index.jsp og den har nogen if(loggedin){
vis et eller andet.
}
Avatar billede arne_v Ekspert
28. oktober 2004 - 14:24 #2
re 1)

Du kan godt blande lidt programmatic security ind.

if(request.isUserInRole("admin")) {
} else {
}

re 2)

jeps

session.invalidate();
Avatar billede trp79 Nybegynder
28. oktober 2004 - 17:49 #3
Hej med jer, og tak for hjælpen.
Den er næsten ved at være der nu. Eneste problem er når jeg har understående form i min index side (der viser en menu afhængig af hvad rolle man har), så reloader tomcat ikke index siden men går istedet til en side hvor der står "Invalid direct reference to form login page"(yderligere beskrevet nedenfor).


<form action="j_security_check" method="POST">
Username: <input type="text" name="j_username"><br>
Password: <input type="password" name="j_password"><br>
<input type="submit" value="Login">
</form>


HTTP Status 400 - Invalid direct reference to form login page
--------------------------------------------------------------------------------
Type: Status report
Message: Invalid direct reference to form login page
Description: The request sent by the client was syntactically incorrect (Invalid direct reference to form login page).

Har i nogen ideer til hvad jeg kan gøre for at slippe uden om det og istedet blive redirectet til selvsammeside igen, men altså logget ind denne gang....?
Avatar billede arne_v Ekspert
28. oktober 2004 - 18:20 #4
Hvorfor vil du have login formen på en side som vises normalt ?
Avatar billede trp79 Nybegynder
28. oktober 2004 - 22:16 #5
Min tanke var egentlig at lave noget login ala det, der ses her: http://www.styrupnet.dk/3wsiden/ Altså, når siden laves mødes man af en velkomst side, hvor man har adgang til nogle ting, men logger man så ind som bruger eller admin, så får man adgang til nogle yderligere funktionaliteter. En løsning ville selvfølgelig være at lave 3 næsten ens sider - en for alle, en for brugere, en for admins. Det er måske det nemmeste?
Avatar billede arne_v Ekspert
28. oktober 2004 - 22:23 #6
Jeg tror ikke at den slags sider bruger container managed security.
Avatar billede trp79 Nybegynder
29. oktober 2004 - 09:53 #7
Okay, det var nu også bare for at vise hvad min ide var :) Men smid i bare et svar, så laver jeg bare lidt om på "min ide".
Mange tak for hjælpen til jer begge, mvh
Torben
Avatar billede arne_v Ekspert
29. oktober 2004 - 19:17 #8
svar
Avatar billede trp79 Nybegynder
30. oktober 2004 - 09:58 #9
Simon vil du ikke smide et svar også, så du kan få andel i pointene :)
Avatar billede simonvalter Praktikant
30. oktober 2004 - 20:53 #10
ok svar, var lige afk ;)
Avatar billede trp79 Nybegynder
31. oktober 2004 - 09:31 #11
Tak for hjælpen til jer begge :)
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