package cn.mb.cloud.auth.security.service; import cn.mb.cloud.common.core.constant.SecurityConstants; import org.springframework.cache.annotation.Cacheable; import org.springframework.security.oauth2.common.exceptions.InvalidClientException; import org.springframework.security.oauth2.provider.ClientDetails; import org.springframework.security.oauth2.provider.client.JdbcClientDetailsService; import javax.sql.DataSource; /** * @author jason *

* see JdbcClientDetailsService */ public class MbCloudClientDetailsService extends JdbcClientDetailsService { public MbCloudClientDetailsService(DataSource dataSource) { super(dataSource); } /** * 重写原生方法支持redis缓存 * * @param clientId * @return * @throws InvalidClientException */ @Override @Cacheable(value = SecurityConstants.CLIENT_DETAILS_KEY, key = "#clientId", unless = "#result == null") public ClientDetails loadClientByClientId(String clientId) throws InvalidClientException { return super.loadClientByClientId(clientId); } }