remove surplus Factory

This commit is contained in:
shimingxy 2024-10-22 11:18:32 +08:00
parent c248ae5275
commit 1d1997a166
7 changed files with 57 additions and 252 deletions

View File

@ -1,47 +0,0 @@
/*
* Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.maxkey.authz.cas.endpoint.ticket.pgt;
import org.dromara.maxkey.authz.cas.endpoint.ticket.TicketServices;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
public class ProxyGrantingTicketServicesFactory {
private static final Logger _logger = LoggerFactory.getLogger(ProxyGrantingTicketServicesFactory.class);
public TicketServices getService(
int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) {
TicketServices casTicketServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
casTicketServices = new InMemoryProxyGrantingTicketServices();
_logger.debug("InMemoryTicketServices");
} else if (persistence == ConstsPersistence.JDBC) {
//casTicketServices = new JdbcTicketServices(jdbcTemplate);
_logger.debug("JdbcTicketServices not support ");
} else if (persistence == ConstsPersistence.REDIS) {
casTicketServices = new RedisProxyGrantingTicketServices(redisConnFactory);
_logger.debug("RedisTicketServices");
}
return casTicketServices;
}
}

View File

@ -1,47 +0,0 @@
/*
* Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.maxkey.authz.cas.endpoint.ticket.st;
import org.dromara.maxkey.authz.cas.endpoint.ticket.TicketServices;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
public class TicketServicesFactory {
private static final Logger _logger = LoggerFactory.getLogger(TicketServicesFactory.class);
public TicketServices getService(
int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) {
TicketServices casTicketServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
casTicketServices = new InMemoryTicketServices();
_logger.debug("InMemoryTicketServices");
} else if (persistence == ConstsPersistence.JDBC) {
//casTicketServices = new JdbcTicketServices(jdbcTemplate);
_logger.debug("JdbcTicketServices not support ");
} else if (persistence == ConstsPersistence.REDIS) {
casTicketServices = new RedisTicketServices(redisConnFactory);
_logger.debug("RedisTicketServices");
}
return casTicketServices;
}
}

View File

@ -1,48 +0,0 @@
/*
* Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.maxkey.authz.cas.endpoint.ticket.tgt;
import org.dromara.maxkey.authz.cas.endpoint.ticket.TicketServices;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
public class TicketGrantingTicketServicesFactory {
private static final Logger _logger = LoggerFactory.getLogger(TicketGrantingTicketServicesFactory.class);
public TicketServices getService(
int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) {
TicketServices casTicketServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
casTicketServices = new InMemoryTicketGrantingTicketServices();
_logger.debug("InMemoryTicketGrantingTicketServices");
} else if (persistence == ConstsPersistence.JDBC) {
//
//casTicketServices = new JdbcTicketGrantingTicketServices(jdbcTemplate);
_logger.debug("JdbcTicketGrantingTicketServices not support ");
} else if (persistence == ConstsPersistence.REDIS) {
casTicketServices = new RedisTicketGrantingTicketServices(redisConnFactory);
_logger.debug("RedisTicketServices");
}
return casTicketServices;
}
}

View File

@ -18,9 +18,13 @@
package org.dromara.maxkey.autoconfigure; package org.dromara.maxkey.autoconfigure;
import org.dromara.maxkey.authz.cas.endpoint.ticket.TicketServices; import org.dromara.maxkey.authz.cas.endpoint.ticket.TicketServices;
import org.dromara.maxkey.authz.cas.endpoint.ticket.pgt.ProxyGrantingTicketServicesFactory; import org.dromara.maxkey.authz.cas.endpoint.ticket.pgt.InMemoryProxyGrantingTicketServices;
import org.dromara.maxkey.authz.cas.endpoint.ticket.st.TicketServicesFactory; import org.dromara.maxkey.authz.cas.endpoint.ticket.pgt.RedisProxyGrantingTicketServices;
import org.dromara.maxkey.authz.cas.endpoint.ticket.tgt.TicketGrantingTicketServicesFactory; import org.dromara.maxkey.authz.cas.endpoint.ticket.st.InMemoryTicketServices;
import org.dromara.maxkey.authz.cas.endpoint.ticket.st.RedisTicketServices;
import org.dromara.maxkey.authz.cas.endpoint.ticket.tgt.InMemoryTicketGrantingTicketServices;
import org.dromara.maxkey.authz.cas.endpoint.ticket.tgt.RedisTicketGrantingTicketServices;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory; import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -29,7 +33,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.jdbc.core.JdbcTemplate;
@AutoConfiguration @AutoConfiguration
@ComponentScan(basePackages = { @ComponentScan(basePackages = {
@ -47,11 +50,17 @@ public class CasAutoConfiguration implements InitializingBean {
@Bean(name = "casTicketServices") @Bean(name = "casTicketServices")
TicketServices casTicketServices( TicketServices casTicketServices(
@Value("${maxkey.server.persistence}") int persistence, @Value("${maxkey.server.persistence}") int persistence,
@Value("${maxkey.login.remeberme.validity}") int validity,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) { RedisConnectionFactory redisConnFactory) {
_logger.debug("init casTicketServices."); _logger.debug("init casTicketServices.");
return new TicketServicesFactory().getService(persistence, jdbcTemplate, redisConnFactory); TicketServices casTicketServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
casTicketServices = new InMemoryTicketServices();
_logger.debug("InMemoryTicketServices");
} else if (persistence == ConstsPersistence.REDIS) {
casTicketServices = new RedisTicketServices(redisConnFactory);
_logger.debug("RedisTicketServices");
}
return casTicketServices;
} }
/** /**
@ -63,21 +72,33 @@ public class CasAutoConfiguration implements InitializingBean {
@Bean(name = "casTicketGrantingTicketServices") @Bean(name = "casTicketGrantingTicketServices")
TicketServices casTicketGrantingTicketServices( TicketServices casTicketGrantingTicketServices(
@Value("${maxkey.server.persistence}") int persistence, @Value("${maxkey.server.persistence}") int persistence,
@Value("${maxkey.login.remeberme.validity}") int validity,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) { RedisConnectionFactory redisConnFactory) {
_logger.debug("init casTicketGrantingTicketServices."); _logger.debug("init casTicketGrantingTicketServices.");
return new TicketGrantingTicketServicesFactory().getService(persistence, jdbcTemplate, redisConnFactory); TicketServices casTicketServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
casTicketServices = new InMemoryTicketGrantingTicketServices();
_logger.debug("InMemoryTicketGrantingTicketServices");
} else if (persistence == ConstsPersistence.REDIS) {
casTicketServices = new RedisTicketGrantingTicketServices(redisConnFactory);
_logger.debug("RedisTicketGrantingTicketServices");
}
return casTicketServices;
} }
@Bean(name = "casProxyGrantingTicketServices") @Bean(name = "casProxyGrantingTicketServices")
TicketServices casProxyGrantingTicketServices( TicketServices casProxyGrantingTicketServices(
@Value("${maxkey.server.persistence}") int persistence, @Value("${maxkey.server.persistence}") int persistence,
@Value("${maxkey.login.remeberme.validity}") int validity,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) { RedisConnectionFactory redisConnFactory) {
_logger.debug("init casTicketGrantingTicketServices."); _logger.debug("init casTicketGrantingTicketServices.");
return new ProxyGrantingTicketServicesFactory().getService(persistence, jdbcTemplate, redisConnFactory); TicketServices casTicketServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
casTicketServices = new InMemoryProxyGrantingTicketServices();
_logger.debug("InMemoryProxyGrantingTicketServices");
} else if (persistence == ConstsPersistence.REDIS) {
casTicketServices = new RedisProxyGrantingTicketServices(redisConnFactory);
_logger.debug("RedisProxyGrantingTicketServices");
}
return casTicketServices;
} }

View File

@ -1,46 +0,0 @@
/*
* Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.maxkey.authz.oauth2.provider.code;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
public class AuthorizationCodeServicesFactory {
private static final Logger _logger = LoggerFactory.getLogger(AuthorizationCodeServicesFactory.class);
public AuthorizationCodeServices getService(
int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) {
AuthorizationCodeServices authorizationCodeServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
authorizationCodeServices = new InMemoryAuthorizationCodeServices();
_logger.debug("InMemoryAuthorizationCodeServices");
} else if (persistence == ConstsPersistence.JDBC) {
//authorizationCodeServices = new JdbcAuthorizationCodeServices(jdbcTemplate);
_logger.debug("JdbcAuthorizationCodeServices not support ");
} else if (persistence == ConstsPersistence.REDIS) {
authorizationCodeServices = new RedisAuthorizationCodeServices(redisConnFactory);
_logger.debug("RedisAuthorizationCodeServices");
}
return authorizationCodeServices;
}
}

View File

@ -1,47 +0,0 @@
/*
* Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.maxkey.authz.oauth2.provider.token.store;
import org.dromara.maxkey.authz.oauth2.provider.token.TokenStore;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.persistence.redis.RedisConnectionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
public class TokenStoreFactory {
private static final Logger _logger = LoggerFactory.getLogger(TokenStoreFactory.class);
public TokenStore getTokenStore(
int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) {
TokenStore tokenStore = null;
if (persistence == ConstsPersistence.INMEMORY) {
tokenStore = new InMemoryTokenStore();
_logger.debug("InMemoryTokenStore");
} else if (persistence == ConstsPersistence.JDBC) {
//tokenStore = new JdbcTokenStore(jdbcTemplate);
_logger.debug("JdbcTokenStore not support ");
} else if (persistence == ConstsPersistence.REDIS) {
tokenStore = new RedisTokenStore(redisConnFactory);
_logger.debug("RedisTokenStore");
}
return tokenStore;
}
}

View File

@ -32,14 +32,19 @@ import org.dromara.maxkey.authz.oauth2.provider.client.ClientDetailsUserDetailsS
import org.dromara.maxkey.authz.oauth2.provider.client.JdbcClientDetailsService; import org.dromara.maxkey.authz.oauth2.provider.client.JdbcClientDetailsService;
import org.dromara.maxkey.authz.oauth2.provider.code.AuthorizationCodeServices; import org.dromara.maxkey.authz.oauth2.provider.code.AuthorizationCodeServices;
import org.dromara.maxkey.authz.oauth2.provider.code.AuthorizationCodeServicesFactory; import org.dromara.maxkey.authz.oauth2.provider.code.AuthorizationCodeServicesFactory;
import org.dromara.maxkey.authz.oauth2.provider.code.InMemoryAuthorizationCodeServices;
import org.dromara.maxkey.authz.oauth2.provider.code.RedisAuthorizationCodeServices;
import org.dromara.maxkey.authz.oauth2.provider.endpoint.TokenEndpointAuthenticationFilter; import org.dromara.maxkey.authz.oauth2.provider.endpoint.TokenEndpointAuthenticationFilter;
import org.dromara.maxkey.authz.oauth2.provider.request.DefaultOAuth2RequestFactory; import org.dromara.maxkey.authz.oauth2.provider.request.DefaultOAuth2RequestFactory;
import org.dromara.maxkey.authz.oauth2.provider.token.DefaultTokenServices; import org.dromara.maxkey.authz.oauth2.provider.token.DefaultTokenServices;
import org.dromara.maxkey.authz.oauth2.provider.token.TokenStore; import org.dromara.maxkey.authz.oauth2.provider.token.TokenStore;
import org.dromara.maxkey.authz.oauth2.provider.token.store.InMemoryTokenStore;
import org.dromara.maxkey.authz.oauth2.provider.token.store.JwtAccessTokenConverter; import org.dromara.maxkey.authz.oauth2.provider.token.store.JwtAccessTokenConverter;
import org.dromara.maxkey.authz.oauth2.provider.token.store.RedisTokenStore;
import org.dromara.maxkey.authz.oauth2.provider.token.store.TokenStoreFactory; import org.dromara.maxkey.authz.oauth2.provider.token.store.TokenStoreFactory;
import org.dromara.maxkey.authz.oidc.idtoken.OIDCIdTokenEnhancer; import org.dromara.maxkey.authz.oidc.idtoken.OIDCIdTokenEnhancer;
import org.dromara.maxkey.configuration.oidc.OIDCProviderMetadataDetails; import org.dromara.maxkey.configuration.oidc.OIDCProviderMetadataDetails;
import org.dromara.maxkey.constants.ConstsPersistence;
import org.dromara.maxkey.crypto.jose.keystore.JWKSetKeyStore; import org.dromara.maxkey.crypto.jose.keystore.JWKSetKeyStore;
import org.dromara.maxkey.crypto.jwt.encryption.service.impl.DefaultJwtEncryptionAndDecryptionService; import org.dromara.maxkey.crypto.jwt.encryption.service.impl.DefaultJwtEncryptionAndDecryptionService;
import org.dromara.maxkey.crypto.jwt.signer.service.impl.DefaultJwtSigningAndValidationService; import org.dromara.maxkey.crypto.jwt.signer.service.impl.DefaultJwtSigningAndValidationService;
@ -192,10 +197,17 @@ public class Oauth20AutoConfiguration implements InitializingBean {
@Bean(name = "oauth20AuthorizationCodeServices") @Bean(name = "oauth20AuthorizationCodeServices")
AuthorizationCodeServices oauth20AuthorizationCodeServices( AuthorizationCodeServices oauth20AuthorizationCodeServices(
@Value("${maxkey.server.persistence}") int persistence, @Value("${maxkey.server.persistence}") int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) { RedisConnectionFactory redisConnFactory) {
_logger.debug("OAuth 2 Authorization Code Services init."); _logger.debug("OAuth 2 Authorization Code Services init.");
return new AuthorizationCodeServicesFactory().getService(persistence, jdbcTemplate, redisConnFactory); AuthorizationCodeServices authorizationCodeServices = null;
if (persistence == ConstsPersistence.INMEMORY) {
authorizationCodeServices = new InMemoryAuthorizationCodeServices();
_logger.debug("InMemoryAuthorizationCodeServices");
} else if (persistence == ConstsPersistence.REDIS) {
authorizationCodeServices = new RedisAuthorizationCodeServices(redisConnFactory);
_logger.debug("RedisAuthorizationCodeServices");
}
return authorizationCodeServices;
} }
/** /**
@ -206,10 +218,17 @@ public class Oauth20AutoConfiguration implements InitializingBean {
@Bean(name = "oauth20TokenStore") @Bean(name = "oauth20TokenStore")
TokenStore oauth20TokenStore( TokenStore oauth20TokenStore(
@Value("${maxkey.server.persistence}") int persistence, @Value("${maxkey.server.persistence}") int persistence,
JdbcTemplate jdbcTemplate,
RedisConnectionFactory redisConnFactory) { RedisConnectionFactory redisConnFactory) {
_logger.debug("OAuth 2 TokenStore init."); _logger.debug("OAuth 2 TokenStore init.");
return new TokenStoreFactory().getTokenStore(persistence, jdbcTemplate, redisConnFactory); TokenStore tokenStore = null;
if (persistence == ConstsPersistence.INMEMORY) {
tokenStore = new InMemoryTokenStore();
_logger.debug("InMemoryTokenStore");
} else if (persistence == ConstsPersistence.REDIS) {
tokenStore = new RedisTokenStore(redisConnFactory);
_logger.debug("RedisTokenStore");
}
return tokenStore;
} }
/** /**