1
18 package io.undertow.security.handlers;
19
20 import io.undertow.security.api.AuthenticationMode;
21 import io.undertow.security.api.SecurityContext;
22 import io.undertow.security.api.SecurityContextFactory;
23 import io.undertow.security.idm.IdentityManager;
24 import io.undertow.security.impl.SecurityContextFactoryImpl;
25 import io.undertow.server.HttpHandler;
26 import io.undertow.server.HttpServerExchange;
27
28
41 @SuppressWarnings("deprecation")
42 public class SecurityInitialHandler extends AbstractSecurityContextAssociationHandler {
43
44 private final AuthenticationMode authenticationMode;
45 private final IdentityManager identityManager;
46 private final String programaticMechName;
47 private final SecurityContextFactory contextFactory;
48
49 public SecurityInitialHandler(final AuthenticationMode authenticationMode, final IdentityManager identityManager,
50 final String programaticMechName, final SecurityContextFactory contextFactory, final HttpHandler next) {
51 super(next);
52 this.authenticationMode = authenticationMode;
53 this.identityManager = identityManager;
54 this.programaticMechName = programaticMechName;
55 this.contextFactory = contextFactory;
56 }
57
58 public SecurityInitialHandler(final AuthenticationMode authenticationMode, final IdentityManager identityManager,
59 final String programaticMechName, final HttpHandler next) {
60 this(authenticationMode, identityManager, programaticMechName, SecurityContextFactoryImpl.INSTANCE, next);
61 }
62
63 public SecurityInitialHandler(final AuthenticationMode authenticationMode, final IdentityManager identityManager,
64 final HttpHandler next) {
65 this(authenticationMode, identityManager, null, SecurityContextFactoryImpl.INSTANCE, next);
66 }
67
68
71 @Override
72 public SecurityContext createSecurityContext(final HttpServerExchange exchange) {
73 return contextFactory.createSecurityContext(exchange, authenticationMode, identityManager, programaticMechName);
74 }
75
76
77 }
78