Java tutorial
package com.miserablemind.butter.domain.model.user.user_persistent_logins.impl; import com.miserablemind.butter.domain.model.user.user_persistent_logins.UserPersistentTokenDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken; import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository; import org.springframework.stereotype.Service; import java.util.Date; /* * Miserable Mind * http://www.butter.miserablemind.com * The MIT License (MIT) */ /** * Implementation of Spring Security interface that is autowired to {@link com.miserablemind.butter.security.WebSecurityContext} to create "rememberMeServices" bean. * * @author <a href="http://www.miserablemind.com" target="_blank">miserablemind</a> */ @Service public class PersistentTokenRepositoryImpl implements PersistentTokenRepository { @Autowired private UserPersistentTokenDao userPersistentTokenDao; /** * Inserts a token for Remember Me Service. * * @param token token to be inserted */ @Override public void createNewToken(PersistentRememberMeToken token) { this.userPersistentTokenDao.insertRememberMeToken(token); } /** * Gets Remember Me token for {@code series}. * * @param seriesId the series id the token should be looked up for * @return remember me token */ @Override public PersistentRememberMeToken getTokenForSeries(String seriesId) { return this.userPersistentTokenDao.getRememberMeTokenForSeries(seriesId); } /** * Deletes all Remember Me tokens for the user. * <p>It takes username as a parameter. * If the user was logged in using its e-mail rather than username, the value sent to this method should still be {@link com.miserablemind.butter.domain.model.user.user.AppUser#getUsername()}</p> * * @param username user name of a user whose token should be deleted. */ @Override public void removeUserTokens(String username) { this.userPersistentTokenDao.deleteRememberMeToken(username); } /** * Updates Remember Me token for {@code series}. * * @param series the series to update * @param tokenValue new token value * @param lastUsed resets the time the token was last used */ @Override public void updateToken(String series, String tokenValue, Date lastUsed) { this.userPersistentTokenDao.updateRememberMeToken(series, tokenValue, lastUsed); } }