Ik heb me helemaal scheel gezocht op internet, maar kan geen officieel antwoord vinden.
Het probleem: Op mijn project gebruiken we JAAS voor authenticatie en autorisatie. In de applicatieserver (JBoss) hebben we onze eigen custom LoginModule gedefinieerd. Deze wordt ook aangeroepen. Eigenlijk werkt alles goed.
Ik zit alleen nog met één dilemma, namelijk dat ik niet zeker weet of een LoginModule thread safe moet zijn. In de documentatie enzo staat niets over thread safety of concurrency. Aan de andere kant, alle voorbeelden op internet gebruiken gewoon members en geen synchronisatie mechanismen.
Dit is ongeveer de opbouw van de klasse:
Alleen het feit dat er niets over concurrency wordt gezegd in de documentatie baart me zorgen, want ik wil op deze plek geen vervelende race conditions. Security is namelijk vrij essentieel voor dit project...
Weten jullie hier iets van?
Het probleem: Op mijn project gebruiken we JAAS voor authenticatie en autorisatie. In de applicatieserver (JBoss) hebben we onze eigen custom LoginModule gedefinieerd. Deze wordt ook aangeroepen. Eigenlijk werkt alles goed.
Ik zit alleen nog met één dilemma, namelijk dat ik niet zeker weet of een LoginModule thread safe moet zijn. In de documentatie enzo staat niets over thread safety of concurrency. Aan de andere kant, alle voorbeelden op internet gebruiken gewoon members en geen synchronisatie mechanismen.
Dit is ongeveer de opbouw van de klasse:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| public class MyCustomLoginModule implements javax.security.auth.spi.LoginModule { private Subject subject = null; private CallbackHandler callbackHandler = null; private FixedSessionProperties theSessionProperties = null; private Ticket myTicket = null; public void initialize(Subject subject, CallbackHandler callback, Map<String, ?> sharedState, Map<String, ?> options) { // initialiseer members } public boolean login() throws LoginException { // gebruik de members } public boolean abort() throws LoginException { // gebruik de members } public boolean commit() throws LoginException { // gebruik de members } public boolean logout() throws LoginException { // gebruik de members } } |
Alleen het feit dat er niets over concurrency wordt gezegd in de documentatie baart me zorgen, want ik wil op deze plek geen vervelende race conditions. Security is namelijk vrij essentieel voor dit project...
Weten jullie hier iets van?
Fat Pizza's pizza, they are big and they are cheezy