diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/db/LoginService.java b/maxkey-core/src/main/java/org/maxkey/persistence/db/LoginService.java index 0ecd8bf9d521e6d9c6ab2cdc8bb70a1bfc9e2d0f..2ae578a248decbbc329398e83b00e2f0d9af5fb0 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/db/LoginService.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/db/LoginService.java @@ -198,4 +198,122 @@ public class LoginService { new int[] { Types.TIMESTAMP, Types.VARCHAR }); } + + public class UserInfoRowMapper implements RowMapper { + + @Override + public UserInfo mapRow(ResultSet rs, int rowNum) throws SQLException { + + UserInfo userInfo = new UserInfo(); + userInfo.setId(rs.getString("ID")); + userInfo.setUsername(rs.getString("USERNAME")); + userInfo.setPassword(rs.getString("PASSWORD")); + userInfo.setSharedSecret(rs.getString("SHAREDSECRET")); + userInfo.setSharedCounter(rs.getString("SHAREDCOUNTER")); + userInfo.setDecipherable(rs.getString("DECIPHERABLE")); + userInfo.setWindowsAccount(rs.getString("WINDOWSACCOUNT")); + userInfo.setUserType(rs.getString("USERTYPE")); + + userInfo.setDisplayName(rs.getString("DISPLAYNAME")); + userInfo.setNickName(rs.getString("NICKNAME")); + userInfo.setNameZhSpell(rs.getString("NAMEZHSPELL"));// nameZHSpell + userInfo.setNameZhShortSpell(rs.getString("NAMEZHSHORTSPELL"));// nameZHSpell + userInfo.setGivenName(rs.getString("GIVENNAME")); + userInfo.setMiddleName(rs.getString("MIDDLENAME")); + userInfo.setFamilyName(rs.getString("FAMILYNAME")); + userInfo.setHonorificPrefix(rs.getString("HONORIFICPREFIX")); + userInfo.setHonorificSuffix(rs.getString("HONORIFICSUFFIX")); + userInfo.setFormattedName(rs.getString("FORMATTEDNAME")); + + userInfo.setGender(rs.getInt("GENDER")); + userInfo.setBirthDate(rs.getString("BIRTHDATE")); + userInfo.setPicture(rs.getBytes("PICTURE")); + userInfo.setMarried(rs.getInt("MARRIED")); + userInfo.setIdType(rs.getInt("IDTYPE")); + userInfo.setIdCardNo(rs.getString("IDCARDNO")); + userInfo.setWebSite(rs.getString("WEBSITE")); + + userInfo.setAuthnType(rs.getInt("AUTHNTYPE")); + userInfo.setMobile(rs.getString("MOBILE")); + userInfo.setMobileVerified(rs.getInt("MOBILEVERIFIED")); + userInfo.setEmail(rs.getString("EMAIL")); + userInfo.setEmailVerified(rs.getInt("EMAILVERIFIED")); + userInfo.setPasswordQuestion(rs.getString("PASSWORDQUESTION")); + userInfo.setPasswordAnswer(rs.getString("PASSWORDANSWER")); + + userInfo.setAppLoginAuthnType(rs.getInt("APPLOGINAUTHNTYPE")); + userInfo.setAppLoginPassword(rs.getString("APPLOGINPASSWORD")); + userInfo.setProtectedApps(rs.getString("PROTECTEDAPPS")); + + userInfo.setPasswordLastSetTime(rs.getString("PASSWORDLASTSETTIME")); + userInfo.setPasswordSetType(rs.getInt("PASSWORDSETTYPE")); + userInfo.setBadPasswordCount(rs.getInt("BADPASSWORDCOUNT")); + userInfo.setBadPasswordTime(rs.getString("BADPASSWORDTIME")); + userInfo.setUnLockTime(rs.getString("UNLOCKTIME")); + userInfo.setIsLocked(rs.getInt("ISLOCKED")); + userInfo.setLastLoginTime(rs.getString("LASTLOGINTIME")); + userInfo.setLastLoginIp(rs.getString("LASTLOGINIP")); + userInfo.setLastLogoffTime(rs.getString("LASTLOGOFFTIME")); + userInfo.setLoginCount(rs.getInt("LOGINCOUNT")); + + userInfo.setTimeZone(rs.getString("TIMEZONE")); + userInfo.setLocale(rs.getString("LOCALE")); + userInfo.setPreferredLanguage(rs.getString("PREFERREDLANGUAGE")); + + userInfo.setWorkEmail(rs.getString("WORKEMAIL")); + userInfo.setWorkPhoneNumber(rs.getString("WORKPHONENUMBER")); + userInfo.setWorkCountry(rs.getString("WORKCOUNTRY")); + userInfo.setWorkRegion(rs.getString("WORKREGION")); + userInfo.setWorkLocality(rs.getString("WORKLOCALITY")); + userInfo.setWorkStreetAddress(rs.getString("WORKSTREETADDRESS")); + userInfo.setWorkAddressFormatted(rs.getString("WORKADDRESSFORMATTED")); + userInfo.setWorkPostalCode(rs.getString("WORKPOSTALCODE")); + userInfo.setWorkFax(rs.getString("WORKFAX")); + + userInfo.setHomeEmail(rs.getString("HOMEEMAIL")); + userInfo.setHomePhoneNumber(rs.getString("HOMEPHONENUMBER")); + userInfo.setHomeCountry(rs.getString("HOMECOUNTRY")); + userInfo.setHomeRegion(rs.getString("HOMEREGION")); + userInfo.setHomeLocality(rs.getString("HOMELOCALITY")); + userInfo.setHomeStreetAddress(rs.getString("HOMESTREETADDRESS")); + userInfo.setHomeAddressFormatted(rs.getString("HOMEADDRESSFORMATTED")); + userInfo.setHomePostalCode(rs.getString("HOMEPOSTALCODE")); + userInfo.setHomeFax(rs.getString("HOMEFAX")); + + userInfo.setEmployeeNumber(rs.getString("EMPLOYEENUMBER")); + userInfo.setDivision(rs.getString("DIVISION")); + userInfo.setCostCenter(rs.getString("COSTCENTER")); + userInfo.setOrganization(rs.getString("ORGANIZATION")); + userInfo.setDepartmentId(rs.getString("DEPARTMENTID")); + userInfo.setDepartment(rs.getString("DEPARTMENT")); + userInfo.setJobTitle(rs.getString("JOBTITLE")); + userInfo.setJobLevel(rs.getString("JOBLEVEL")); + userInfo.setManagerId(rs.getString("MANAGERID")); + userInfo.setManager(rs.getString("MANAGER")); + userInfo.setAssistantId(rs.getString("ASSISTANTID")); + userInfo.setAssistant(rs.getString("ASSISTANT")); + userInfo.setEntryDate(rs.getString("ENTRYDATE"));// + userInfo.setQuitDate(rs.getString("QUITDATE")); + userInfo.setStartWorkDate(rs.getString("STARTWORKDATE"));// STARTWORKDATE + + userInfo.setExtraAttribute(rs.getString("EXTRAATTRIBUTE")); + + userInfo.setCreatedBy(rs.getString("CREATEDBY")); + userInfo.setCreatedDate(rs.getString("CREATEDDATE")); + userInfo.setModifiedBy(rs.getString("MODIFIEDBY")); + userInfo.setModifiedDate(rs.getString("MODIFIEDDATE")); + + userInfo.setStatus(rs.getInt("STATUS")); + userInfo.setGridList(rs.getInt("GRIDLIST")); + userInfo.setDescription(rs.getString("DESCRIPTION")); + userInfo.setTheme(rs.getString("THEME")); + if (userInfo.getTheme() == null || userInfo.getTheme().equalsIgnoreCase("")) { + userInfo.setTheme("default"); + } + + return userInfo; + } + } } + + diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyRowMapper.java b/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyRowMapper.java deleted file mode 100644 index 5d6344c4827acf94bb4ab76ba18f502199e17e71..0000000000000000000000000000000000000000 --- a/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyRowMapper.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright [2020] [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.maxkey.persistence.db; - -import java.sql.ResultSet; -import java.sql.SQLException; -import org.maxkey.domain.PasswordPolicy; -import org.springframework.jdbc.core.RowMapper; - -public class PasswordPolicyRowMapper implements RowMapper { - - @Override - public PasswordPolicy mapRow(ResultSet rs, int rowNum) throws SQLException { - PasswordPolicy passwordPolicy = new PasswordPolicy(); - passwordPolicy.setId(rs.getString("ID")); - passwordPolicy.setMinLength(rs.getInt("MINLENGTH")); - passwordPolicy.setMaxLength(rs.getInt("MAXLENGTH")); - passwordPolicy.setLowerCase(rs.getInt("LOWERCASE")); - passwordPolicy.setUpperCase(rs.getInt("UPPERCASE")); - passwordPolicy.setDigits(rs.getInt("DIGITS")); - passwordPolicy.setSpecialChar(rs.getInt("SPECIALCHAR")); - passwordPolicy.setAttempts(rs.getInt("ATTEMPTS")); - passwordPolicy.setDuration(rs.getInt("DURATION")); - passwordPolicy.setExpiration(rs.getInt("EXPIRATION")); - passwordPolicy.setUsername(rs.getInt("USERNAME")); - passwordPolicy.setHistory(rs.getInt("HISTORY")); - passwordPolicy.setDictionary(rs.getInt("DICTIONARY")); - passwordPolicy.setAlphabetical(rs.getInt("ALPHABETICAL")); - passwordPolicy.setNumerical(rs.getInt("NUMERICAL")); - passwordPolicy.setQwerty(rs.getInt("QWERTY")); - passwordPolicy.setOccurances(rs.getInt("OCCURANCES")); - return passwordPolicy; - } - -} diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyValidator.java b/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyValidator.java index 87f1da9de2fd47cf67be492292578167408efc69..17eaae88213dc710c013d865b93b730ecd5a3b63 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyValidator.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/db/PasswordPolicyValidator.java @@ -18,6 +18,8 @@ package org.maxkey.persistence.db; import java.io.InputStreamReader; +import java.sql.ResultSet; +import java.sql.SQLException; import java.sql.Types; import java.util.ArrayList; import java.util.Date; @@ -58,6 +60,7 @@ import org.slf4j.LoggerFactory; import org.springframework.context.MessageSource; import org.springframework.core.io.ClassPathResource; import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; import org.springframework.security.authentication.BadCredentialsException; public class PasswordPolicyValidator { @@ -410,5 +413,30 @@ public class PasswordPolicyValidator { } - + public class PasswordPolicyRowMapper implements RowMapper { + + @Override + public PasswordPolicy mapRow(ResultSet rs, int rowNum) throws SQLException { + PasswordPolicy passwordPolicy = new PasswordPolicy(); + passwordPolicy.setId(rs.getString("ID")); + passwordPolicy.setMinLength(rs.getInt("MINLENGTH")); + passwordPolicy.setMaxLength(rs.getInt("MAXLENGTH")); + passwordPolicy.setLowerCase(rs.getInt("LOWERCASE")); + passwordPolicy.setUpperCase(rs.getInt("UPPERCASE")); + passwordPolicy.setDigits(rs.getInt("DIGITS")); + passwordPolicy.setSpecialChar(rs.getInt("SPECIALCHAR")); + passwordPolicy.setAttempts(rs.getInt("ATTEMPTS")); + passwordPolicy.setDuration(rs.getInt("DURATION")); + passwordPolicy.setExpiration(rs.getInt("EXPIRATION")); + passwordPolicy.setUsername(rs.getInt("USERNAME")); + passwordPolicy.setHistory(rs.getInt("HISTORY")); + passwordPolicy.setDictionary(rs.getInt("DICTIONARY")); + passwordPolicy.setAlphabetical(rs.getInt("ALPHABETICAL")); + passwordPolicy.setNumerical(rs.getInt("NUMERICAL")); + passwordPolicy.setQwerty(rs.getInt("QWERTY")); + passwordPolicy.setOccurances(rs.getInt("OCCURANCES")); + return passwordPolicy; + } + + } } diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/db/UserInfoRowMapper.java b/maxkey-core/src/main/java/org/maxkey/persistence/db/UserInfoRowMapper.java deleted file mode 100644 index f6fcd5632d26af2fed69913c5c6e05538e8ed7c1..0000000000000000000000000000000000000000 --- a/maxkey-core/src/main/java/org/maxkey/persistence/db/UserInfoRowMapper.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright [2020] [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.maxkey.persistence.db; - -import java.sql.ResultSet; -import java.sql.SQLException; -import org.maxkey.domain.UserInfo; -import org.springframework.jdbc.core.RowMapper; - -public class UserInfoRowMapper implements RowMapper { - - @Override - public UserInfo mapRow(ResultSet rs, int rowNum) throws SQLException { - - UserInfo userInfo = new UserInfo(); - userInfo.setId(rs.getString("ID")); - userInfo.setUsername(rs.getString("USERNAME")); - userInfo.setPassword(rs.getString("PASSWORD")); - userInfo.setSharedSecret(rs.getString("SHAREDSECRET")); - userInfo.setSharedCounter(rs.getString("SHAREDCOUNTER")); - userInfo.setDecipherable(rs.getString("DECIPHERABLE")); - userInfo.setWindowsAccount(rs.getString("WINDOWSACCOUNT")); - userInfo.setUserType(rs.getString("USERTYPE")); - - userInfo.setDisplayName(rs.getString("DISPLAYNAME")); - userInfo.setNickName(rs.getString("NICKNAME")); - userInfo.setNameZhSpell(rs.getString("NAMEZHSPELL"));// nameZHSpell - userInfo.setNameZhShortSpell(rs.getString("NAMEZHSHORTSPELL"));// nameZHSpell - userInfo.setGivenName(rs.getString("GIVENNAME")); - userInfo.setMiddleName(rs.getString("MIDDLENAME")); - userInfo.setFamilyName(rs.getString("FAMILYNAME")); - userInfo.setHonorificPrefix(rs.getString("HONORIFICPREFIX")); - userInfo.setHonorificSuffix(rs.getString("HONORIFICSUFFIX")); - userInfo.setFormattedName(rs.getString("FORMATTEDNAME")); - - userInfo.setGender(rs.getInt("GENDER")); - userInfo.setBirthDate(rs.getString("BIRTHDATE")); - userInfo.setPicture(rs.getBytes("PICTURE")); - userInfo.setMarried(rs.getInt("MARRIED")); - userInfo.setIdType(rs.getInt("IDTYPE")); - userInfo.setIdCardNo(rs.getString("IDCARDNO")); - userInfo.setWebSite(rs.getString("WEBSITE")); - - userInfo.setAuthnType(rs.getInt("AUTHNTYPE")); - userInfo.setMobile(rs.getString("MOBILE")); - userInfo.setMobileVerified(rs.getInt("MOBILEVERIFIED")); - userInfo.setEmail(rs.getString("EMAIL")); - userInfo.setEmailVerified(rs.getInt("EMAILVERIFIED")); - userInfo.setPasswordQuestion(rs.getString("PASSWORDQUESTION")); - userInfo.setPasswordAnswer(rs.getString("PASSWORDANSWER")); - - userInfo.setAppLoginAuthnType(rs.getInt("APPLOGINAUTHNTYPE")); - userInfo.setAppLoginPassword(rs.getString("APPLOGINPASSWORD")); - userInfo.setProtectedApps(rs.getString("PROTECTEDAPPS")); - - userInfo.setPasswordLastSetTime(rs.getString("PASSWORDLASTSETTIME")); - userInfo.setPasswordSetType(rs.getInt("PASSWORDSETTYPE")); - userInfo.setBadPasswordCount(rs.getInt("BADPASSWORDCOUNT")); - userInfo.setBadPasswordTime(rs.getString("BADPASSWORDTIME")); - userInfo.setUnLockTime(rs.getString("UNLOCKTIME")); - userInfo.setIsLocked(rs.getInt("ISLOCKED")); - userInfo.setLastLoginTime(rs.getString("LASTLOGINTIME")); - userInfo.setLastLoginIp(rs.getString("LASTLOGINIP")); - userInfo.setLastLogoffTime(rs.getString("LASTLOGOFFTIME")); - userInfo.setLoginCount(rs.getInt("LOGINCOUNT")); - - userInfo.setTimeZone(rs.getString("TIMEZONE")); - userInfo.setLocale(rs.getString("LOCALE")); - userInfo.setPreferredLanguage(rs.getString("PREFERREDLANGUAGE")); - - userInfo.setWorkEmail(rs.getString("WORKEMAIL")); - userInfo.setWorkPhoneNumber(rs.getString("WORKPHONENUMBER")); - userInfo.setWorkCountry(rs.getString("WORKCOUNTRY")); - userInfo.setWorkRegion(rs.getString("WORKREGION")); - userInfo.setWorkLocality(rs.getString("WORKLOCALITY")); - userInfo.setWorkStreetAddress(rs.getString("WORKSTREETADDRESS")); - userInfo.setWorkAddressFormatted(rs.getString("WORKADDRESSFORMATTED")); - userInfo.setWorkPostalCode(rs.getString("WORKPOSTALCODE")); - userInfo.setWorkFax(rs.getString("WORKFAX")); - - userInfo.setHomeEmail(rs.getString("HOMEEMAIL")); - userInfo.setHomePhoneNumber(rs.getString("HOMEPHONENUMBER")); - userInfo.setHomeCountry(rs.getString("HOMECOUNTRY")); - userInfo.setHomeRegion(rs.getString("HOMEREGION")); - userInfo.setHomeLocality(rs.getString("HOMELOCALITY")); - userInfo.setHomeStreetAddress(rs.getString("HOMESTREETADDRESS")); - userInfo.setHomeAddressFormatted(rs.getString("HOMEADDRESSFORMATTED")); - userInfo.setHomePostalCode(rs.getString("HOMEPOSTALCODE")); - userInfo.setHomeFax(rs.getString("HOMEFAX")); - - userInfo.setEmployeeNumber(rs.getString("EMPLOYEENUMBER")); - userInfo.setDivision(rs.getString("DIVISION")); - userInfo.setCostCenter(rs.getString("COSTCENTER")); - userInfo.setOrganization(rs.getString("ORGANIZATION")); - userInfo.setDepartmentId(rs.getString("DEPARTMENTID")); - userInfo.setDepartment(rs.getString("DEPARTMENT")); - userInfo.setJobTitle(rs.getString("JOBTITLE")); - userInfo.setJobLevel(rs.getString("JOBLEVEL")); - userInfo.setManagerId(rs.getString("MANAGERID")); - userInfo.setManager(rs.getString("MANAGER")); - userInfo.setAssistantId(rs.getString("ASSISTANTID")); - userInfo.setAssistant(rs.getString("ASSISTANT")); - userInfo.setEntryDate(rs.getString("ENTRYDATE"));// - userInfo.setQuitDate(rs.getString("QUITDATE")); - userInfo.setStartWorkDate(rs.getString("STARTWORKDATE"));// STARTWORKDATE - - userInfo.setExtraAttribute(rs.getString("EXTRAATTRIBUTE")); - - userInfo.setCreatedBy(rs.getString("CREATEDBY")); - userInfo.setCreatedDate(rs.getString("CREATEDDATE")); - userInfo.setModifiedBy(rs.getString("MODIFIEDBY")); - userInfo.setModifiedDate(rs.getString("MODIFIEDDATE")); - - userInfo.setStatus(rs.getInt("STATUS")); - userInfo.setGridList(rs.getInt("GRIDLIST")); - userInfo.setDescription(rs.getString("DESCRIPTION")); - userInfo.setTheme(rs.getString("THEME")); - if (userInfo.getTheme() == null || userInfo.getTheme().equalsIgnoreCase("")) { - userInfo.setTheme("default"); - } - - return userInfo; - } -}