本文整理汇总了Java中io.undertow.server.session.SessionAttachmentHandler类的典型用法代码示例。如果您正苦于以下问题:Java SessionAttachmentHandler类的具体用法?Java SessionAttachmentHandler怎么用?Java SessionAttachmentHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SessionAttachmentHandler类属于io.undertow.server.session包,在下文中一共展示了SessionAttachmentHandler类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: init
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
@BeforeClass
public static void init() throws URISyntaxException {
URI redisUri = new URI("redis://localhost:6379/0");
JEDIS = new Jedis(redisUri);
SessionCookieConfig sessionConfig = new SessionCookieConfig();
sessionConfig.setCookieName("session");
sessionManager = new RedisSessionManager(redisUri, sessionConfig);
server = Undertow.builder()
.addHttpListener(9876, "localhost")
.setHandler(new SessionAttachmentHandler(new PathTemplateHandler()
.add("/attributes", new AttributesHandler())
.add("/objects", new ObjectsHandler())
, sessionManager, sessionConfig))
.build();
server.start();
}
开发者ID:coat,项目名称:undertow-redis-session,代码行数:21,代码来源:RedisSessionManagerIT.java
示例2: createAppHandlers
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
public HttpHandler createAppHandlers(ScannerResult scannerResult){
OvertownSessionManager sessionManager = OvertownSessionManager.getInstance();
HttpHandler error500 = mount500( scannerResult.getInternalErrorClass() );
if( !scannerResult.getControllerMappings().isEmpty() ) {
RoutingHandler rh = new CustomRoutingHandler();
rh.setFallbackHandler(mount404(scannerResult.getNotFoundClass()));
rh.setInvalidMethodHandler( mount405( scannerResult.getMethodNotAllowedClass() ) );
ControllerHandlerCreator chc = new ControllerHandlerCreator();
for(ControllerMapping mapping : scannerResult.getControllerMappings() ){
mapping.setInternalErrorHandler(error500);
rh = chc.createHandler(mapping , rh);
}
return new SessionAttachmentHandler( rh , sessionManager.getSessionManager(),
sessionManager.getSessionConfig());
}
throw new NoControllerException("You should specify at least one controller, verify if you informed the right package to be scanned or see https://github.com/EsmerilProgramming/overtown for more info");
}
开发者ID:EsmerilProgramming,项目名称:overtown,代码行数:18,代码来源:StartupHandlerImpl.java
示例3: createRootHandler
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
public HttpHandler createRootHandler(Configuration configuration , ScannerResult scannerResult) {
PathHandler pathHandler = Handlers.path();
String appContext = "/" + configuration.getAppContext();
pathHandler.addPrefixPath( appContext , createAppHandlers(scannerResult));
if(!scannerResult.getServerEndpoints().isEmpty()){
DeploymentInfo builder = new DeploymentInfo().setClassLoader(this.getClass().getClassLoader()).setContextPath("/");
WebSocketDeploymentInfo wsDeployInfo = new WebSocketDeploymentInfo();
wsDeployInfo.setBuffers(new ByteBufferSlicePool(100, 1000));
for(Class<?> serverEndpoint : scannerResult.getServerEndpoints() ){
wsDeployInfo.addEndpoint( serverEndpoint );
}
builder.addServletContextAttribute(WebSocketDeploymentInfo.ATTRIBUTE_NAME, wsDeployInfo);
builder.setDeploymentName("websocketDeploy.war");
final ServletContainer container = ServletContainer.Factory.newInstance();
DeploymentManager manager = container.addDeployment(builder);
manager.deploy();
try {
OvertownSessionManager sessionManager = OvertownSessionManager.getInstance();
String wsContextPath = "ws";
if( !appContext.endsWith("/") ){
wsContextPath += appContext + "/" + wsContextPath;
}
pathHandler.addPrefixPath( wsContextPath ,
new SessionAttachmentHandler( manager.start() , sessionManager.getSessionManager(),
sessionManager.getSessionConfig()) );
} catch (ServletException e) {
e.printStackTrace();
}
}
String staticContextPath = configuration.getStaticRootPath();
if( !appContext.endsWith("/") ){
staticContextPath = appContext + "/" + staticContextPath;
}
pathHandler.addPrefixPath( staticContextPath , new ResourceHandlerMounter().mount());
return pathHandler;
}
开发者ID:EsmerilProgramming,项目名称:overtown,代码行数:39,代码来源:StartupHandlerImpl.java
示例4: makeSessionHandler
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
@Override
protected HttpHandler makeSessionHandler(App root, OptionMap config,
HttpHandler next) {
InMemorySessionManager sessionManager = new InMemorySessionManager(
"SessionManagerOfSiden", config.get(Config.MAX_SESSIONS));
sessionManager.setDefaultSessionTimeout(config
.get(Config.DEFAULT_SESSION_TIMEOUT_SECONDS));
SessionCookieConfig sessionConfig = new SessionCookieConfig();
sessionConfig.setCookieName(config.get(Config.SESSION_COOKIE_NAME));
register(root, SessionMetrics.to(sessionManager),
Arrays.asList("type", "Session"));
return new SessionAttachmentHandler(next, sessionManager, sessionConfig);
}
开发者ID:taichi,项目名称:siden,代码行数:16,代码来源:MetricsAppBuilder.java
示例5: makeSessionHandler
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
protected HttpHandler makeSessionHandler(App root, OptionMap config,
HttpHandler next) {
InMemorySessionManager sessionManager = new InMemorySessionManager(
"SessionManagerOfSiden", config.get(Config.MAX_SESSIONS));
sessionManager.setDefaultSessionTimeout(config
.get(Config.DEFAULT_SESSION_TIMEOUT_SECONDS));
SessionCookieConfig sessionConfig = new SessionCookieConfig();
sessionConfig.setCookieName(config.get(Config.SESSION_COOKIE_NAME));
return new SessionAttachmentHandler(next, sessionManager, sessionConfig);
}
开发者ID:taichi,项目名称:siden,代码行数:11,代码来源:DefaultAppBuilder.java
示例6: main
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
public static void main(final String[] args) {
final Config config = new DemoConfigFactory().build();
PathHandler path = new PathHandler();
path.addExactPath("/", SecurityHandler.build(DemoHandlers.indexHandler(), config, "AnonymousClient"));
path.addExactPath("/index.html", SecurityHandler.build(DemoHandlers.indexHandler(), config, "AnonymousClient"));
path.addExactPath("/facebook/notprotected.html", DemoHandlers.protectedIndex);
path.addExactPath("/facebook/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "FacebookClient"));
path.addExactPath("/facebook/notprotected.html", SecurityHandler.build(DemoHandlers.notProtectedIndex, config, "AnonymousClient"));
path.addExactPath("/facebookadmin/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "FacebookClient", "admin"));
path.addExactPath("/facebookcustom/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "FacebookClient", "custom"));
path.addExactPath("/twitter/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "TwitterClient,FacebookClient"));
path.addExactPath("/form/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "FormClient"));
path.addExactPath("/form/index.html.json", SecurityHandler.build(DemoHandlers.authenticatedJsonHandler, config, "FormClient"));
path.addExactPath("/basicauth/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "IndirectBasicAuthClient"));
path.addExactPath("/cas/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "CasClient"));
path.addExactPath("/saml2/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "SAML2Client"));
path.addExactPath("/oidc/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "OidcClient"));
path.addExactPath("/protected/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config));
path.addExactPath("/dba/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "DirectBasicAuthClient,ParameterClient"));
path.addExactPath("/rest-jwt/index.html", SecurityHandler.build(DemoHandlers.protectedIndex, config, "ParameterClient"));
path.addExactPath("/callback", CallbackHandler.build(config, null, true));
path.addExactPath("/logout", new ApplicationLogoutHandler(config, "/?defaulturlafterlogout"));
path.addPrefixPath("/assets/js", Handlers.resource(new ClassPathResourceManager(DemoServer.class.getClassLoader())));
path.addExactPath("/loginForm.html", DemoHandlers.loginFormHandler(config));
path.addExactPath("/jwt.html", SecurityHandler.build(DemoHandlers.jwtHandler(), config, "AnonymousClient"));
path.addExactPath("/forceLogin", DemoHandlers.forceLoginHandler(config));
Undertow server = Undertow.builder().addHttpListener(8080, "localhost")
.setHandler(new SessionAttachmentHandler(new ErrorHandler(path), new InMemorySessionManager("SessionManager"), new SessionCookieConfig())).build();
server.start();
}
开发者ID:pac4j,项目名称:undertow-pac4j-demo,代码行数:40,代码来源:DemoServer.java
示例7: createHandlerForPage
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
private HttpHandler createHandlerForPage(final Class<?> pageClass, final Method method,
final List<Method> beforeExecutemethods) {
final String[] parameterNames = paranamer.lookupParameterNames(method);
Page methodPagePath = method.getAnnotation(Page.class);
final String responseTemplate = methodPagePath.responseTemplate();
final boolean isJsonResponse = method.getAnnotation(JSONResponse.class) != null;
HttpHandler handler = null;
handler = new HttpHandler() {
private final Logger LOGGER = Logger.getLogger(pageClass);
// private final Object newInstance = pageClass.getConstructor().newInstance();
final Map<String, GenericConverter<?>> converterMap = new ConverterMounterImpl()
.mountParameterConveters(method, parameterNames);
final Map<String, ParameterConverter> paramConverterMap = new ParameterConverterMounter()
.identifyParametersTranslators(parameterNames, method.getParameterTypes());
public void handleRequest(HttpServerExchange exchange) throws Exception {
Object newInstance = pageClass.getConstructor().newInstance();
try {
Class<?>[] parameterTypes = method.getParameterTypes();
OvertownRequest request = new OvertownRequest(exchange);
for (Method method : beforeExecutemethods) {
method.invoke(newInstance, request);
}
request.addConverters(converterMap);
ParametersConverter translator = new ParametersConverter(paramConverterMap);
Object[] parameters =
translator.translateParameters(parameterNames, parameterTypes, request);
CoreClassInjector injector = new CoreClassInjectorImpl();
parameters =
injector.injectCoreInstances(parameterNames, parameters, parameterTypes, request);
method.invoke(newInstance, parameters);
finishResponse( request );
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
e.printStackTrace();
LOGGER.error(e.getMessage());
}
}
public void finishResponse(OvertownRequest request){
if(isJsonResponse){
request.respondAsJson();
}
Response response = request.getResponse();
if (!Page.NO_TEMPLATE.equals(responseTemplate) && !response.isResponseSend()) {
request.respondAsHttp();
((HttpResponse) request.getResponse()).fowardTo(responseTemplate);
} else {
if (!response.isResponseSend()) {
response.finishResponse();
}
}
}
};
OvertownSessionManager sessionManager = OvertownSessionManager.getInstance();
return new SessionAttachmentHandler(handler, sessionManager.getSessionManager(),
sessionManager.getSessionConfig());
}
开发者ID:EsmerilProgramming,项目名称:overtown,代码行数:66,代码来源:HandlerCreator.java
示例8: wrapWithSessionHandler
import io.undertow.server.session.SessionAttachmentHandler; //导入依赖的package包/类
protected HttpHandler wrapWithSessionHandler(HttpHandler handler) {
return new SessionAttachmentHandler(handler, sessionManager, new SessionCookieConfig());
}
开发者ID:projectodd,项目名称:wunderboss,代码行数:4,代码来源:UndertowWeb.java
注:本文中的io.undertow.server.session.SessionAttachmentHandler类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论