Package org.springframework.security.web.authentication.rememberme

# Class JdbcTokenRepositoryImpl

java.lang.Object
org.springframework.dao.support.DaoSupport
org.springframework.jdbc.core.support.JdbcDaoSupport
org.springframework.security.web.authentication.rememberme.JdbcTokenRepositoryImpl

All Implemented Interfaces:
  `org.springframework.beans.factory.InitializingBean`, `PersistentTokenRepository`

public class JdbcTokenRepositoryImpl extends org.springframework.jdbc.core.support.JdbcDaoSupport implements PersistentTokenRepository
JDBC based persistent login token repository implementation.

Since:
  2.0

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`CREATE_TABLE_SQL`
Default SQL for creating the database table to store the tokens
`static final String`
`DEF_INSERT_TOKEN_SQL`
The default SQL used by `createNewToken`
`static final String`
`DEF_REMOVE_USER_TOKENS_SQL`
The default SQL used by `removeUserTokens`
`static final String`
`DEF_TOKEN_BY_SERIES_SQL`
The default SQL used by the `getTokenBySeries` query
`static final String`
`DEF_UPDATE_TOKEN_SQL`
The default SQL used by `updateToken`

### Fields inherited from class org.springframework.dao.support.DaoSupport

`logger`

## Constructor Summary

Constructors
Constructor
Description
`JdbcTokenRepositoryImpl()`

## Method Summary

Modifier and Type
Method
Description
`void`
`createNewToken(PersistentRememberMeToken token)`
`PersistentRememberMeToken`
`getTokenForSeries(String seriesId)`
Loads the token data for the supplied series identifier.
`protected void`
`initDao()`
`void`
`removeUserTokens(String username)`
`void`
`setCreateTableOnStartup(boolean createTableOnStartup)`
Intended for convenience in debugging.
`void`
`updateToken(String series, String tokenValue, Date lastUsed)`

### Methods inherited from class org.springframework.jdbc.core.support.JdbcDaoSupport

`checkDaoConfig, createJdbcTemplate, getConnection, getDataSource, getExceptionTranslator, getJdbcTemplate, initTemplateConfig, releaseConnection, setDataSource, setJdbcTemplate`

### Methods inherited from class org.springframework.dao.support.DaoSupport

`afterPropertiesSet`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### CREATE_TABLE_SQL

public static final String CREATE_TABLE_SQL
Default SQL for creating the database table to store the tokens

See Also:
  - Constant Field Values

### DEF_TOKEN_BY_SERIES_SQL

public static final String DEF_TOKEN_BY_SERIES_SQL
The default SQL used by the `getTokenBySeries` query

See Also:
  - Constant Field Values

### DEF_INSERT_TOKEN_SQL

public static final String DEF_INSERT_TOKEN_SQL
The default SQL used by `createNewToken`

See Also:
  - Constant Field Values

### DEF_UPDATE_TOKEN_SQL

public static final String DEF_UPDATE_TOKEN_SQL
The default SQL used by `updateToken`

See Also:
  - Constant Field Values

### DEF_REMOVE_USER_TOKENS_SQL

public static final String DEF_REMOVE_USER_TOKENS_SQL
The default SQL used by `removeUserTokens`

See Also:
  - Constant Field Values

## Constructor Details

### JdbcTokenRepositoryImpl

public JdbcTokenRepositoryImpl()

## Method Details

### initDao

protected void initDao()

Overrides:
  `initDao` in class `org.springframework.dao.support.DaoSupport`

### createNewToken

public void createNewToken(PersistentRememberMeToken token)

Specified by:
  `createNewToken` in interface `PersistentTokenRepository`

### updateToken

public void updateToken(String series, String tokenValue, Date lastUsed)

Specified by:
  `updateToken` in interface `PersistentTokenRepository`

### getTokenForSeries

public PersistentRememberMeToken getTokenForSeries(String seriesId)
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).

Specified by:
  `getTokenForSeries` in interface `PersistentTokenRepository`
Parameters:
  `seriesId` -
Returns:
  the token matching the series, or null if no match found or an exception occurred.

### removeUserTokens

public void removeUserTokens(String username)

Specified by:
  `removeUserTokens` in interface `PersistentTokenRepository`

### setCreateTableOnStartup

public void setCreateTableOnStartup(boolean createTableOnStartup)
Intended for convenience in debugging. Will create the persistent_tokens database table when the class is initialized during the initDao method.

Parameters:
  `createTableOnStartup` - set to true to execute the