本文整理汇总了Java中org.pac4j.core.context.session.SessionStore类的典型用法代码示例。如果您正苦于以下问题:Java SessionStore类的具体用法?Java SessionStore怎么用?Java SessionStore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SessionStore类属于org.pac4j.core.context.session包,在下文中一共展示了SessionStore类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: recordSession
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Override
public void recordSession(final VertxWebContext context, final String ticket) {
// Record session connection as per the existing cas behaviour
final SessionStore sessionStore = context.getSessionStore();
if (sessionStore == null) {
logger.error("No session store available for this web context");
} else {
final String sessionId = sessionStore.getOrCreateSessionId(context);
if (sessionId != null) {
logger.debug("ticket: {} -> sessionId: {}", ticket, sessionId);
store.set(ticket, sessionId);
logger.debug("Retrieved session id {}", store.get(ticket).toString());
context.setSessionAttribute(PAC4J_CAS_TICKET, ticket); // Gives us a two-way link
} else {
logger.debug("Can not identify id for current session");
}
}
}
示例2: renewSession
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Override
public void renewSession(String oldSessionId, VertxWebContext context) {
final String ticket = (String) context.getSessionAttribute(PAC4J_CAS_TICKET);
logger.debug("oldSessionId: {} -> ticket: {}", oldSessionId, ticket);
final SessionStore sessionStore = context.getSessionStore();
if (!(sessionStore instanceof ExtendedSessionStore)) {
logger.error("Session store does not support session renewal");
} else {
if (ticket != null) {
store.remove(ticket);
final ExtendedSessionStore extendedSessionStore = (ExtendedSessionStore) sessionStore;
final Session session = extendedSessionStore.getSession(oldSessionId);
if (session != null) { // Switch to use optional
session.set(PAC4J_CAS_TICKET, null);
}
recordSession(context, ticket);
}
}
}
示例3: CallbackDeployingPac4jAuthHandler
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
public CallbackDeployingPac4jAuthHandler(final Vertx vertx,
final SessionStore<VertxWebContext> sessionStore,
final Config config,
final Router router,
final Pac4jAuthProvider authProvider,
final SecurityHandlerOptions options,
final CallbackHandlerOptions callbackOptions) {
super(vertx, sessionStore, config, authProvider, options);
// Other null checks performed by parent class
CommonHelper.assertNotNull("router", router);
CommonHelper.assertNotBlank("callbackUrl", config.getClients().getCallbackUrl());
final URI uri;
try {
uri = new URI(config.getClients().getCallbackUrl());
} catch (URISyntaxException e) {
LOG.error(e.getMessage());
throw toTechnicalException(e);
}
// Start manager verticle
router.route(HttpMethod.GET, uri.getPath()).handler(authResultHandler(vertx, sessionStore, config, callbackOptions));
}
示例4: SecurityHandler
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
public SecurityHandler(final Vertx vertx,
final SessionStore<VertxWebContext> sessionStore,
final Config config, final Pac4jAuthProvider authProvider,
final SecurityHandlerOptions options) {
super(authProvider);
CommonHelper.assertNotNull("vertx", vertx);
CommonHelper.assertNotNull("sessionStore", sessionStore);
CommonHelper.assertNotNull("config", config);
CommonHelper.assertNotNull("config.getClients()", config.getClients());
CommonHelper.assertNotNull("authProvider", authProvider);
CommonHelper.assertNotNull("options", options);
clientNames = options.getClients();
authorizerName = options.getAuthorizers();
matcherName = options.getMatchers();
multiProfile = options.isMultiProfile();
this.vertx = vertx;
this.sessionStore = sessionStore;
this.config = config;
final DefaultSecurityLogic<Void, VertxWebContext> securityLogic = new DefaultSecurityLogic<>();
securityLogic.setProfileManagerFactory(VertxProfileManager::new);
this.securityLogic = securityLogic;
}
示例5: LogoutHandler
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
/**
* Construct based on the option values provided
*
* @param options - the options to configure this handler
*/
public LogoutHandler(final Vertx vertx,
final SessionStore<VertxWebContext> sessionStore ,
final LogoutHandlerOptions options, final Config config) {
final DefaultLogoutLogic<Void, VertxWebContext> defaultApplicationLogoutLogic =
new DefaultLogoutLogic<>();
defaultApplicationLogoutLogic.setProfileManagerFactory(VertxProfileManager::new);
logoutLogic = defaultApplicationLogoutLogic;
this.defaultUrl = options.getDefaultUrl();
this.logoutUrlPattern = options.getLogoutUrlPattern();
this.config = config;
this.vertx = vertx;
this.sessionStore = sessionStore;
this.localLogout = options.isLocalLogout();
this.destroySession = options.isDestroySession();
this.centralLogout = options.isCentralLogout();
}
示例6: sessionStore
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
private MockUnit.Block sessionStore(SessionStore<WebContext> ss) {
return unit -> {
org.pac4j.core.config.Config config = unit.get(org.pac4j.core.config.Config.class);
expect(config.getSessionStore()).andReturn(ss);
if (ss != null) {
config.setSessionStore(ss);
}
AnnotatedBindingBuilder aab = unit.mock(AnnotatedBindingBuilder.class);
if (ss == null) {
expect(aab.to(Pac4jSessionStore.class)).andReturn(aab);
expect(aab.to(Pac4jSessionStore.class)).andReturn(aab);
} else {
aab.toInstance(ss);
aab.toInstance(ss);
}
Binder binder = unit.get(Binder.class);
expect(binder.bind(SSTORE)).andReturn(aab);
expect(binder.bind(SessionStore.class)).andReturn(aab);
};
}
示例7: requestAttribute
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void requestAttribute() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(localGet("attr", "val"))
.expect(localGet("missing", null))
.expect(localSet("foo", "bar"))
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("val", pac4j.getRequestAttribute("attr"));
assertEquals(null, pac4j.getRequestAttribute("missing"));
pac4j.setRequestAttribute("foo", "bar");
});
}
示例8: sessionAttribute
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void sessionAttribute() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(sessionGet("attr", "val"))
.expect(sessionSet("foo", "bar"))
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("val", pac4j.getSessionAttribute("attr"));
pac4j.setSessionAttribute("foo", "bar");
assertEquals(2, unit.captured(WebContext.class).size());
unit.captured(WebContext.class).forEach(it -> assertEquals(pac4j, it));
});
}
示例9: sessionId
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void sessionId() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
SessionStore session = unit.get(SessionStore.class);
expect(session.getOrCreateSessionId(unit.capture(WebContext.class))).andReturn("sid");
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("sid", pac4j.getSessionIdentifier());
assertEquals(pac4j, unit.captured(WebContext.class).get(0));
});
}
示例10: requestContent
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void requestContent() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
Mutant body = unit.mock(Mutant.class);
expect(body.value()).andReturn("...");
Request req = unit.get(Request.class);
expect(req.body()).andReturn(body);
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("...", pac4j.getRequestContent());
});
}
示例11: serverNameAndPort
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void serverNameAndPort() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
Request req = unit.get(Request.class);
expect(req.hostname()).andReturn("server");
expect(req.port()).andReturn(123);
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("server", pac4j.getServerName());
assertEquals(123, pac4j.getServerPort());
});
}
示例12: scheme
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void scheme() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
Request req = unit.get(Request.class);
expect(req.secure()).andReturn(false);
expect(req.secure()).andReturn(true);
expect(req.secure()).andReturn(false);
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("http", pac4j.getScheme());
assertEquals("https", pac4j.getScheme());
assertEquals(false, pac4j.isSecure());
});
}
示例13: fullRequestURL
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void fullRequestURL() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
Request req = unit.get(Request.class);
expect(req.hostname()).andReturn("server");
expect(req.port()).andReturn(8080);
expect(req.secure()).andReturn(false);
expect(req.contextPath()).andReturn("");
expect(req.path()).andReturn("/resource");
expect(req.queryString()).andReturn(Optional.empty());
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("http://server:8080/resource", pac4j.getFullRequestURL());
});
}
示例14: fullRequestURLWithContextPath
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void fullRequestURLWithContextPath() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
Request req = unit.get(Request.class);
expect(req.hostname()).andReturn("server");
expect(req.port()).andReturn(8080);
expect(req.secure()).andReturn(false);
expect(req.contextPath()).andReturn("/myapp");
expect(req.path()).andReturn("/resource");
expect(req.queryString()).andReturn(Optional.empty());
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("http://server:8080/myapp/resource", pac4j.getFullRequestURL());
});
}
示例15: fullRequestURLWithContextPathAndQueryString
import org.pac4j.core.context.session.SessionStore; //导入依赖的package包/类
@Test
public void fullRequestURLWithContextPathAndQueryString() throws Exception {
new MockUnit(Request.class, Response.class, SessionStore.class)
.expect(params(false))
.expect(unit -> {
Request req = unit.get(Request.class);
expect(req.hostname()).andReturn("server");
expect(req.port()).andReturn(8080);
expect(req.secure()).andReturn(true);
expect(req.contextPath()).andReturn("/myapp");
expect(req.path()).andReturn("/resource");
expect(req.queryString()).andReturn(Optional.of("q=foo"));
})
.run(unit -> {
Pac4jContext pac4j = new Pac4jContext(unit.get(Request.class),
unit.get(Response.class), unit.get(SessionStore.class));
assertEquals("https://server:8080/myapp/resource?q=foo", pac4j.getFullRequestURL());
});
}