mirror of https://gitee.com/stylefeng/roses
【auth】整理auth的自动配置
parent
0957782210
commit
bbc35c8bbd
|
@ -14,6 +14,7 @@ import cn.stylefeng.roses.kernel.auth.session.DefaultSessionManager;
|
||||||
import cn.stylefeng.roses.kernel.auth.session.cache.logintoken.MemoryLoginTokenCache;
|
import cn.stylefeng.roses.kernel.auth.session.cache.logintoken.MemoryLoginTokenCache;
|
||||||
import cn.stylefeng.roses.kernel.auth.session.cache.loginuser.MemoryLoginUserCache;
|
import cn.stylefeng.roses.kernel.auth.session.cache.loginuser.MemoryLoginUserCache;
|
||||||
import cn.stylefeng.roses.kernel.auth.session.cookie.DefaultSessionCookieCreator;
|
import cn.stylefeng.roses.kernel.auth.session.cookie.DefaultSessionCookieCreator;
|
||||||
|
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
|
||||||
import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants;
|
import cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants;
|
||||||
import cn.stylefeng.roses.kernel.jwt.JwtTokenOperator;
|
import cn.stylefeng.roses.kernel.jwt.JwtTokenOperator;
|
||||||
import cn.stylefeng.roses.kernel.jwt.api.JwtApi;
|
import cn.stylefeng.roses.kernel.jwt.api.JwtApi;
|
||||||
|
@ -41,7 +42,7 @@ public class GunsAuthAutoConfiguration {
|
||||||
* @date 2020/12/1 14:40
|
* @date 2020/12/1 14:40
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(SessionManagerApi.class)
|
@ConditionalOnMissingBean(JwtApi.class)
|
||||||
public JwtApi jwtApi() {
|
public JwtApi jwtApi() {
|
||||||
|
|
||||||
JwtConfig jwtConfig = new JwtConfig();
|
JwtConfig jwtConfig = new JwtConfig();
|
||||||
|
@ -60,7 +61,7 @@ public class GunsAuthAutoConfiguration {
|
||||||
* @date 2020/12/21 17:45
|
* @date 2020/12/21 17:45
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(SessionManagerApi.class)
|
@ConditionalOnMissingBean(PasswordStoredEncryptApi.class)
|
||||||
public PasswordStoredEncryptApi passwordStoredEncryptApi() {
|
public PasswordStoredEncryptApi passwordStoredEncryptApi() {
|
||||||
return new BcryptPasswordStoredEncrypt();
|
return new BcryptPasswordStoredEncrypt();
|
||||||
}
|
}
|
||||||
|
@ -72,7 +73,7 @@ public class GunsAuthAutoConfiguration {
|
||||||
* @date 2020/12/21 17:45
|
* @date 2020/12/21 17:45
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(SessionManagerApi.class)
|
@ConditionalOnMissingBean(PasswordTransferEncryptApi.class)
|
||||||
public PasswordTransferEncryptApi passwordTransferEncryptApi() {
|
public PasswordTransferEncryptApi passwordTransferEncryptApi() {
|
||||||
String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCytSVn3ff7eBJckAFYwgJjqE9Zq2uAL4g+hkfQqGALdT8NJKALFxNzeSD/xTBLAJrtALWbN1dvyktoVNPAuuzCZO1BxYZNaAU3IKFaj73OSPzca5SGY0ibMw0KvEPkC3sZQeqBqx+VqYAqan90BeG/r9p36Eb0wrshj5XmsFeo6QIDAQAB";
|
String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCytSVn3ff7eBJckAFYwgJjqE9Zq2uAL4g+hkfQqGALdT8NJKALFxNzeSD/xTBLAJrtALWbN1dvyktoVNPAuuzCZO1BxYZNaAU3IKFaj73OSPzca5SGY0ibMw0KvEPkC3sZQeqBqx+VqYAqan90BeG/r9p36Eb0wrshj5XmsFeo6QIDAQAB";
|
||||||
String privateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALK1JWfd9/t4ElyQAVjCAmOoT1mra4AviD6GR9CoYAt1Pw0koAsXE3N5IP/FMEsAmu0AtZs3V2/KS2hU08C67MJk7UHFhk1oBTcgoVqPvc5I/NxrlIZjSJszDQq8Q+QLexlB6oGrH5WpgCpqf3QF4b+v2nfoRvTCuyGPleawV6jpAgMBAAECgYBS9fUfetQcUWl0vwVhBu/FA+WSYxnMsEQ3gm7kVsX/i7Zxi4cgnt3QxXKkSg5ZQzaov6OPIuncY7UOAhMrbZtq/Hh8atdTVC/Ng/X9Bomodplq/+KTe/vIfWW5rlQAnMNFVaidxhCVRlRHNusapmj2vYwsiyI9kXUJNHryxtFC4QJBANtQuh3dtd79t3MVaC3TUD/EsGBe9TB3Eykbgv0muannC2Oq8Ci4vIp0NSA+FNCoB8ctgfKJUdBS8RLVnYyu3RcCQQDQmY+AuAXEpO9SgcYeRnQSOU2OSuC1wLt1MRVpPTdvE3bfRnkVxMrK0n3YilQWkQzfkERSG4kRFLIw605xPWn/AkEAiw3vQ9p8Yyu5MiXDjTKrchMyxZfPnHATXQANmJcCJ0DQDtymMxuWp66wtIXIStgPPnGTMAVzM0Qzh/6bS0Tf9wJAWj+1yFjVlghNyoJ+9qZAnYnRNhjLM5dZAxDjVI65pwLi0SKqTHLB0hJThBYE32aODUNba7KiEJPFrEiBvZh2fQJARbboHuHT0PqD1UTJGgodHlaw48kreBU+twext/9/jIqvwmFF88BmQgssHGW/tn4E6Qy3+rCCNWreEReY0gATYw==";
|
String privateKey = "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALK1JWfd9/t4ElyQAVjCAmOoT1mra4AviD6GR9CoYAt1Pw0koAsXE3N5IP/FMEsAmu0AtZs3V2/KS2hU08C67MJk7UHFhk1oBTcgoVqPvc5I/NxrlIZjSJszDQq8Q+QLexlB6oGrH5WpgCpqf3QF4b+v2nfoRvTCuyGPleawV6jpAgMBAAECgYBS9fUfetQcUWl0vwVhBu/FA+WSYxnMsEQ3gm7kVsX/i7Zxi4cgnt3QxXKkSg5ZQzaov6OPIuncY7UOAhMrbZtq/Hh8atdTVC/Ng/X9Bomodplq/+KTe/vIfWW5rlQAnMNFVaidxhCVRlRHNusapmj2vYwsiyI9kXUJNHryxtFC4QJBANtQuh3dtd79t3MVaC3TUD/EsGBe9TB3Eykbgv0muannC2Oq8Ci4vIp0NSA+FNCoB8ctgfKJUdBS8RLVnYyu3RcCQQDQmY+AuAXEpO9SgcYeRnQSOU2OSuC1wLt1MRVpPTdvE3bfRnkVxMrK0n3YilQWkQzfkERSG4kRFLIw605xPWn/AkEAiw3vQ9p8Yyu5MiXDjTKrchMyxZfPnHATXQANmJcCJ0DQDtymMxuWp66wtIXIStgPPnGTMAVzM0Qzh/6bS0Tf9wJAWj+1yFjVlghNyoJ+9qZAnYnRNhjLM5dZAxDjVI65pwLi0SKqTHLB0hJThBYE32aODUNba7KiEJPFrEiBvZh2fQJARbboHuHT0PqD1UTJGgodHlaw48kreBU+twext/9/jIqvwmFF88BmQgssHGW/tn4E6Qy3+rCCNWreEReY0gATYw==";
|
||||||
|
@ -86,11 +87,42 @@ public class GunsAuthAutoConfiguration {
|
||||||
* @date 2020/12/27 15:48
|
* @date 2020/12/27 15:48
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(SessionManagerApi.class)
|
@ConditionalOnMissingBean(SessionCookieCreator.class)
|
||||||
public SessionCookieCreator sessionCookieCreator() {
|
public SessionCookieCreator sessionCookieCreator() {
|
||||||
return new DefaultSessionCookieCreator();
|
return new DefaultSessionCookieCreator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录用户的缓存,默认使用内存方式
|
||||||
|
* <p>
|
||||||
|
* 如需redis,可在项目创建一个名为 loginUserCache 的bean替代即可
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/31 21:04
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnMissingBean(name = "loginUserCache")
|
||||||
|
public MemoryLoginUserCache loginUserCache() {
|
||||||
|
Long sessionExpiredSeconds = AuthConfigExpander.getSessionExpiredSeconds();
|
||||||
|
TimedCache<String, LoginUser> loginUsers = CacheUtil.newTimedCache(1000L * sessionExpiredSeconds);
|
||||||
|
return new MemoryLoginUserCache(loginUsers);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录用户token的缓存,默认使用内存方式
|
||||||
|
* <p>
|
||||||
|
* 如需redis,可在项目创建一个名为 allPlaceLoginTokenCache 的bean替代即可
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/31 21:04
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnMissingBean(name = "allPlaceLoginTokenCache")
|
||||||
|
public MemoryLoginTokenCache allPlaceLoginTokenCache() {
|
||||||
|
TimedCache<String, Set<String>> loginTokens = CacheUtil.newTimedCache(CacheConstants.NONE_EXPIRED_TIME);
|
||||||
|
return new MemoryLoginTokenCache(loginTokens);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 默认的session缓存为内存缓存,方便启动
|
* 默认的session缓存为内存缓存,方便启动
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -101,16 +133,9 @@ public class GunsAuthAutoConfiguration {
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(SessionManagerApi.class)
|
@ConditionalOnMissingBean(SessionManagerApi.class)
|
||||||
public SessionManagerApi sessionManagerApi() {
|
public SessionManagerApi sessionManagerApi(CacheOperatorApi<LoginUser> loginUserCache, CacheOperatorApi<Set<String>> allPlaceLoginTokenCache) {
|
||||||
Long sessionExpiredSeconds = AuthConfigExpander.getSessionExpiredSeconds();
|
Long sessionExpiredSeconds = AuthConfigExpander.getSessionExpiredSeconds();
|
||||||
|
return new DefaultSessionManager(loginUserCache, allPlaceLoginTokenCache, sessionExpiredSeconds, sessionCookieCreator());
|
||||||
TimedCache<String, LoginUser> loginUsers = CacheUtil.newTimedCache(1000L * sessionExpiredSeconds);
|
|
||||||
TimedCache<String, Set<String>> loginTokens = CacheUtil.newTimedCache(CacheConstants.NONE_EXPIRED_TIME);
|
|
||||||
|
|
||||||
MemoryLoginUserCache memoryLoginUserCache = new MemoryLoginUserCache(loginUsers);
|
|
||||||
MemoryLoginTokenCache memoryLoginTokenCache = new MemoryLoginTokenCache(loginTokens);
|
|
||||||
|
|
||||||
return new DefaultSessionManager(memoryLoginUserCache, memoryLoginTokenCache, sessionExpiredSeconds, sessionCookieCreator());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue