Example usage for org.springframework.security.web.authentication.rememberme PersistentRememberMeToken PersistentRememberMeToken

List of usage examples for org.springframework.security.web.authentication.rememberme PersistentRememberMeToken PersistentRememberMeToken

Introduction

In this page you can find the example usage for org.springframework.security.web.authentication.rememberme PersistentRememberMeToken PersistentRememberMeToken.

Prototype

public PersistentRememberMeToken(String username, String series, String tokenValue, Date date) 

Source Link

Usage

From source file:com.assetmanager.service.auth.PersistentTokenRepositoryImpl.java

/**
 * Gets the token for the given series.//from   w  w w . j a va 2  s  .c  om
 *
 * @param series the series
 * @return the remember me token
 */
@Override
public final PersistentRememberMeToken getTokenForSeries(final String series) {
    PersistentLogin persistentLogin = null;
    final Query query = entityManager.createQuery("SELECT p FROM PersistentLogin p WHERE series = :series");
    query.setParameter("series", series);

    try {
        persistentLogin = (PersistentLogin) query.getSingleResult();
    } catch (NoResultException e) {
        return null;
    }

    return new PersistentRememberMeToken(persistentLogin.getUsername(), persistentLogin.getSeries(),
            persistentLogin.getToken(), persistentLogin.getLastUsed());
}

From source file:jp.xet.uncommons.spring.DynamoPersistentTokenRepository.java

@Override
public PersistentRememberMeToken getTokenForSeries(String seriesId) {
    if (logger.isTraceEnabled()) {
        logger.trace("Retrieve token: seriesId={}", seriesId);
    }/* w w w  .j  ava2 s. c o m*/

    try {
        GetItemRequest getRequest = new GetItemRequest().withTableName(persistentLoginTable)
                .withKey(Collections.singletonMap(SERIES, new AttributeValue(seriesId)));
        GetItemResult result = dynamoDb.getItem(getRequest);
        if (logger.isDebugEnabled()) {
            logger.debug("Token retrieved: {}", result);
        }

        Map<String, AttributeValue> item = result.getItem();
        if (item == null) {
            if (logger.isInfoEnabled()) {
                logger.info("Querying token for series '{}' returned no results.", seriesId);
            }
            return null;
        }

        String username = item.get(USERNAME).getS();
        String series = item.get(SERIES).getS();
        String tokenValue = item.get(TOKEN).getS();
        Date lastUsed = DateUtils.parseISO8601Date(item.get(LAST_USED).getS());
        return new PersistentRememberMeToken(username, series, tokenValue, lastUsed);
    } catch (AmazonServiceException e) {
        logger.error("Failed to load token for series " + seriesId, e);
    } catch (AmazonClientException e) {
        logger.error("Failed to load token for series " + seriesId, e);
    } catch (Exception e) {
        logger.error("unknown exception", e);
    }
    return null;
}

From source file:org.springframework.security.web.authentication.rememberme.JdbcTokenRepositoryImpl.java

/**
 * Loads the token data for the supplied series identifier.
 *
 * If an error occurs, it will be reported and null will be returned (since the result should just be a failed
 * persistent login).//from w ww. j a  va2s.com
 *
 * @param seriesId
 * @return the token matching the series, or null if no match found or an exception occurred.
 */
public PersistentRememberMeToken getTokenForSeries(String seriesId) {
    try {
        logger.debug(tokensBySeriesSql);
        return getJdbcTemplate().queryForObject(tokensBySeriesSql, new RowMapper<PersistentRememberMeToken>() {
            public PersistentRememberMeToken mapRow(ResultSet rs, int rowNum) throws SQLException {
                return new PersistentRememberMeToken(rs.getString(1), rs.getString(2), rs.getString(3),
                        rs.getTimestamp(4));
            }
        }, seriesId);
    } catch (EmptyResultDataAccessException zeroResults) {
        if (logger.isDebugEnabled()) {
            logger.debug("Querying token for series '" + seriesId + "' returned no results.", zeroResults);
        }
    } catch (IncorrectResultSizeDataAccessException moreThanOne) {
        logger.error("Querying token for series '" + seriesId + "' returned more than one value. Series"
                + " should be unique");
    } catch (DataAccessException e) {
        logger.error("Failed to load token for series " + seriesId, e);
    }

    return null;
}

From source file:org.springframework.security.web.authentication.rememberme.JdbcTokenRepositoryImplTests.java

@Test
public void createNewTokenInsertsCorrectData() {
    Timestamp currentDate = new Timestamp(Calendar.getInstance().getTimeInMillis());
    PersistentRememberMeToken token = new PersistentRememberMeToken("joeuser", "joesseries", "atoken",
            currentDate);/*from w  w w.j  a va2s .  c  o m*/
    repo.createNewToken(token);

    Map<String, Object> results = template.queryForMap("select * from persistent_logins");

    assertThat(results.get("last_used")).isEqualTo(currentDate);
    assertThat(results.get("username")).isEqualTo("joeuser");
    assertThat(results.get("series")).isEqualTo("joesseries");
    assertThat(results.get("token")).isEqualTo("atoken");
}