当前位置: 首页>>代码示例>>Java>>正文


Java SessionStore类代码示例

本文整理汇总了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");
        }
    }
}
 
开发者ID:pac4j,项目名称:vertx-pac4j,代码行数:20,代码来源:VertxCasLogoutHandler.java

示例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);
        }
    }
}
 
开发者ID:pac4j,项目名称:vertx-pac4j,代码行数:20,代码来源:VertxCasLogoutHandler.java

示例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));
}
 
开发者ID:pac4j,项目名称:vertx-pac4j,代码行数:24,代码来源:CallbackDeployingPac4jAuthHandler.java

示例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;
}
 
开发者ID:pac4j,项目名称:vertx-pac4j,代码行数:25,代码来源:SecurityHandler.java

示例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();
}
 
开发者ID:pac4j,项目名称:vertx-pac4j,代码行数:22,代码来源:LogoutHandler.java

示例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);
  };
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:24,代码来源:Pac4jTest.java

示例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");
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:17,代码来源:Pac4jContextTest.java

示例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));
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:18,代码来源:Pac4jContextTest.java

示例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));
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:18,代码来源:Pac4jContextTest.java

示例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());
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:19,代码来源:Pac4jContextTest.java

示例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());
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:18,代码来源:Pac4jContextTest.java

示例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());
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:20,代码来源:Pac4jContextTest.java

示例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());
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:21,代码来源:Pac4jContextTest.java

示例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());
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:21,代码来源:Pac4jContextTest.java

示例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());
      });
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:21,代码来源:Pac4jContextTest.java


注:本文中的org.pac4j.core.context.session.SessionStore类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。