From 368ee805b61fb03ae17345c06ffa7ad7ab3cab3c Mon Sep 17 00:00:00 2001 From: zhangbin1010 <391289241@qq.com> Date: Tue, 12 Oct 2021 10:35:27 +0800 Subject: [PATCH] =?UTF-8?q?[Upgrade]=20=E5=A2=9E=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=AF=86=E7=A0=81=E5=8A=A0=E8=A7=A3=E5=AF=86=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oauth/component/UserPasswordEncrypt.kt | 60 +++++++++++++++++++ .../pers/acp/admin/oauth/domain/UserDomain.kt | 9 +-- .../UserPasswordAuthenticationProvider.kt | 29 ++------- .../acp/admin/oauth/nobuild/InitData.java | 7 ++- doc/version_history.md | 16 ++--- 5 files changed, 83 insertions(+), 38 deletions(-) create mode 100644 cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/component/UserPasswordEncrypt.kt diff --git a/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/component/UserPasswordEncrypt.kt b/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/component/UserPasswordEncrypt.kt new file mode 100644 index 00000000..de0b783d --- /dev/null +++ b/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/component/UserPasswordEncrypt.kt @@ -0,0 +1,60 @@ +package pers.acp.admin.oauth.component + +import org.springframework.stereotype.Component +import pers.acp.core.CommonTools +import pers.acp.core.security.Sha256Encrypt + +/** + * 密码加解密工具类 + */ +@Component +class UserPasswordEncrypt { + /** + * 密码加密(用于存储) + * @param loginNo 登录账号 + * @param password 密码明文 + * @return 加密后的存储密文 + */ + fun encrypt(loginNo: String, password: String) = Sha256Encrypt.encrypt(Sha256Encrypt.encrypt(password) + loginNo) + + /** + * 密码加密(用于登录) + * @param encryptedPassword 加密后的密码存储密文 + * @return 加密后的验证密文 + */ + fun encryptForLogin(encryptedPassword: String) = + encryptForLogin(encryptedPassword, CommonTools.getDateTimeString(dateTimeFormat = "yyyyMMddHH")) + + /** + * 密码登录验证 + * @param rawPassword 用户输入的密码 + * @param encryptedPassword 加密后的密码存储密文 + * @return true|false + */ + fun matches(rawPassword: String, encryptedPassword: String): Boolean = + CommonTools.getNowDateTime().let { now -> + for (o in -offset..offset) { + val password = encryptForLogin( + encryptedPassword, + CommonTools.getDateTimeString(now.plusHours(o), "yyyyMMddHH") + ) + if (rawPassword.equals(password, ignoreCase = true)) { + return true + } + } + false + } + + /** + * 密码加密(用于登录) + * @param encryptedPassword 加密后的密码存储密文 + * @param factor 加密因子 + * @return 加密后的验证密文 + */ + private fun encryptForLogin(encryptedPassword: String, factor: String) = + Sha256Encrypt.encrypt(encryptedPassword + factor) + + companion object { + private const val offset = 1 + } +} \ No newline at end of file diff --git a/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/domain/UserDomain.kt b/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/domain/UserDomain.kt index dfc3738f..d2b4dbf7 100644 --- a/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/domain/UserDomain.kt +++ b/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/domain/UserDomain.kt @@ -20,9 +20,9 @@ import pers.acp.admin.oauth.repo.RoleRepository import pers.acp.admin.oauth.repo.UserRepository import pers.acp.admin.oauth.token.SecurityTokenService import pers.acp.admin.common.vo.UserVo +import pers.acp.admin.oauth.component.UserPasswordEncrypt import pers.acp.admin.oauth.constant.OauthConstant import pers.acp.core.CommonTools -import pers.acp.core.security.Sha256Encrypt import pers.acp.spring.boot.exceptions.ServerException import javax.persistence.criteria.JoinType @@ -38,6 +38,7 @@ import java.util.* class UserDomain @Autowired constructor( userRepository: UserRepository, + private val userPasswordEncrypt: UserPasswordEncrypt, private val stringRedisTemplate: StringRedisTemplate, private val applicationRepository: ApplicationRepository, private val organizationRepository: OrganizationRepository, @@ -142,7 +143,7 @@ constructor( return doSave( User( loginNo = userPo.loginNo!!, - password = Sha256Encrypt.encrypt(Sha256Encrypt.encrypt(DEFAULT_PASSWORD) + userPo.loginNo!!), + password = userPasswordEncrypt.encrypt(userPo.loginNo!!, DEFAULT_PASSWORD), roleSet = roleSet ), userPo ) @@ -164,7 +165,7 @@ constructor( } if (this.loginNo != userPo.loginNo) { this.loginNo = userPo.loginNo!! - this.password = Sha256Encrypt.encrypt(Sha256Encrypt.encrypt(DEFAULT_PASSWORD) + userPo.loginNo!!) + this.password = userPasswordEncrypt.encrypt(userPo.loginNo!!, DEFAULT_PASSWORD) this.lastUpdatePasswordTime = null removeToken(userPo.loginNo!!) } @@ -182,7 +183,7 @@ constructor( throw ServerException("不能修改级别比自身大或相等的用户信息") } } - this.password = Sha256Encrypt.encrypt(Sha256Encrypt.encrypt(DEFAULT_PASSWORD) + this.loginNo) + this.password = userPasswordEncrypt.encrypt(this.loginNo, DEFAULT_PASSWORD) this.lastUpdatePasswordTime = null userRepository.save(this) removeToken(this.loginNo) diff --git a/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/token/granter/UserPasswordAuthenticationProvider.kt b/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/token/granter/UserPasswordAuthenticationProvider.kt index cb8c4afc..2862fbdf 100644 --- a/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/token/granter/UserPasswordAuthenticationProvider.kt +++ b/cloud/oauth-server/src/main/kotlin/pers/acp/admin/oauth/token/granter/UserPasswordAuthenticationProvider.kt @@ -7,20 +7,16 @@ import org.springframework.security.authentication.AuthenticationProvider import org.springframework.security.core.Authentication import org.springframework.security.core.SpringSecurityMessageSource import org.springframework.stereotype.Component +import pers.acp.admin.oauth.component.UserPasswordEncrypt import pers.acp.admin.oauth.security.SecurityUserDetailsService import pers.acp.admin.oauth.token.UserPasswordAuthenticationToken import pers.acp.admin.oauth.token.error.CustomerOAuth2Exception -import pers.acp.core.CommonTools -import pers.acp.core.security.Sha256Encrypt @Component class UserPasswordAuthenticationProvider( - private val userDetailsService: SecurityUserDetailsService + private val userDetailsService: SecurityUserDetailsService, + private val userPasswordEncrypt: UserPasswordEncrypt ) : AuthenticationProvider, MessageSourceAware { - companion object { - private const val offset = 1 - } - private var messages: MessageSourceAccessor = SpringSecurityMessageSource.getAccessor() override fun authenticate(authentication: Authentication?): Authentication? { if (!supports(authentication?.javaClass)) { @@ -32,7 +28,7 @@ class UserPasswordAuthenticationProvider( throw CustomerOAuth2Exception("用户已被锁定或禁用!") } authentication.credentials?.toString()?.let { password -> - if (!matches(password, user.password)) { + if (!userPasswordEncrypt.matches(password, user.password)) { userDetailsService.storePasswordErrorTime(username) throw CustomerOAuth2Exception("用户名或密码不正确!") } else { @@ -54,21 +50,4 @@ class UserPasswordAuthenticationProvider( override fun setMessageSource(messageSource: MessageSource) { messages = MessageSourceAccessor(messageSource) } - - /** - * 密码验证 - * @param rawPassword 用户输入的密码 - * @param userPassword 系统存储的密码 - */ - private fun matches(rawPassword: String, userPassword: String): Boolean = - CommonTools.getNowDateTime().let { now -> - for (o in -offset..offset) { - val password = - Sha256Encrypt.encrypt(userPassword + CommonTools.getDateTimeString(now.plusHours(o), "yyyyMMddHH")) - if (rawPassword.equals(password, ignoreCase = true)) { - return true - } - } - false - } } \ No newline at end of file diff --git a/cloud/oauth-server/src/test/java/pers/acp/admin/oauth/nobuild/InitData.java b/cloud/oauth-server/src/test/java/pers/acp/admin/oauth/nobuild/InitData.java index 1155c56a..56dcc451 100644 --- a/cloud/oauth-server/src/test/java/pers/acp/admin/oauth/nobuild/InitData.java +++ b/cloud/oauth-server/src/test/java/pers/acp/admin/oauth/nobuild/InitData.java @@ -8,10 +8,10 @@ import pers.acp.admin.constant.ModuleFuncCode; import pers.acp.admin.constant.RoleCode; import pers.acp.admin.oauth.BaseTest; +import pers.acp.admin.oauth.component.UserPasswordEncrypt; import pers.acp.admin.oauth.entity.*; import pers.acp.admin.oauth.entity.ModuleFunc; import pers.acp.admin.oauth.repo.*; -import pers.acp.core.security.Sha256Encrypt; /** * @author zhang by 18/12/2018 @@ -37,6 +37,9 @@ class InitData extends BaseTest { @Autowired private RuntimeConfigRepository runtimeConfigRepository; + @Autowired + private UserPasswordEncrypt userPasswordEncrypt; + /** * 初始化数据,仅可执行一次 */ @@ -73,7 +76,7 @@ void doInitAll() { User user = new User(); user.setName("ZhangBin"); user.setLoginNo("admin"); - user.setPassword(Sha256Encrypt.encrypt(Sha256Encrypt.encrypt("888888") + "admin")); + user.setPassword(userPasswordEncrypt.encrypt("888888", "admin")); user.setMobile("13888888888"); user.setAvatar("data:image/png;base64,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"); user.setLevels(0); diff --git a/doc/version_history.md b/doc/version_history.md index b1f76990..b70f42eb 100644 --- a/doc/version_history.md +++ b/doc/version_history.md @@ -1,12 +1,14 @@ ## 版本更新记录 ##### v5.1.1 -> - Global -> - [Upgrade] hikari连接池配置中增加connection-timeout -> - [Upgrade] 升级依赖 -> - Acp 6.7.1 -> - kotlin 1.5.31 -> - Spring Boot 2.5.5 -> - kotlin coroutines 1.5.2 +- Global + - [Upgrade] hikari连接池配置中增加connection-timeout + - [Upgrade] 升级依赖 + - Acp 6.7.1 + - kotlin 1.5.31 + - Spring Boot 2.5.5 + - kotlin coroutines 1.5.2 +- oauth-server + - [Upgrade] 增加用户密码加解密工具类 ##### v5.1.0 > - Global > - [Upgrade] 升级 Gradle 至 7.2