AuthorizationUtils
This commit is contained in:
@@ -23,6 +23,7 @@ import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
import org.apache.mybatis.jpa.persistence.IJpaBaseMapper;
|
||||
import org.maxkey.constants.ConstsStatus;
|
||||
import org.maxkey.entity.ChangePassword;
|
||||
import org.maxkey.entity.Organizations;
|
||||
import org.maxkey.entity.UserInfo;
|
||||
import org.maxkey.entity.UserInfoAdjoint;
|
||||
@@ -53,7 +54,7 @@ public interface UserInfoMapper extends IJpaBaseMapper<UserInfo>{
|
||||
|
||||
public void updateBadPWDCount(UserInfo userInfo);
|
||||
|
||||
public int updatePassword(UserInfo userInfo);
|
||||
public int changePassword(ChangePassword changePassword);
|
||||
|
||||
public int updateAppLoginPassword(UserInfo userInfo);
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
}
|
||||
|
||||
public boolean insert(UserInfo userInfo) {
|
||||
userInfo = passwordEncoder(userInfo);
|
||||
this.passwordEncoder(userInfo);
|
||||
if (super.insert(userInfo)) {
|
||||
if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
|
||||
UserInfo loadUserInfo = findUserRelated(userInfo.getId());
|
||||
@@ -94,7 +94,7 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
}
|
||||
|
||||
public boolean update(UserInfo userInfo) {
|
||||
userInfo = passwordEncoder(userInfo);
|
||||
ChangePassword changePassword = this.passwordEncoder(userInfo);
|
||||
if (super.update(userInfo)) {
|
||||
if(mqPersistService.getApplicationConfig().isMessageQueueSupport()) {
|
||||
UserInfo loadUserInfo = findUserRelated(userInfo.getId());
|
||||
@@ -105,7 +105,7 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
MqIdentityAction.UPDATE_ACTION);
|
||||
}
|
||||
|
||||
changePasswordProvisioning(userInfo);
|
||||
changePasswordProvisioning(changePassword);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -151,11 +151,11 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
return loadUserInfo;
|
||||
}
|
||||
|
||||
public boolean updateGridList(String gridList) {
|
||||
public boolean updateGridList(String gridList,UserInfo userInfo) {
|
||||
try {
|
||||
if (gridList != null && !gridList.equals("")) {
|
||||
WebContext.getUserInfo().setGridList(Integer.parseInt(gridList));
|
||||
getMapper().updateGridList(WebContext.getUserInfo());
|
||||
userInfo.setGridList(Integer.parseInt(gridList));
|
||||
getMapper().updateGridList(userInfo);
|
||||
}
|
||||
}catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -180,9 +180,6 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
|
||||
public boolean updateProtectedApps(UserInfo userinfo) {
|
||||
try {
|
||||
if(WebContext.getUserInfo() != null) {
|
||||
userinfo.setModifiedBy(WebContext.getUserInfo().getId());
|
||||
}
|
||||
userinfo.setModifiedDate(DateUtils.getCurrentDateTimeAsString());
|
||||
return getMapper().updateProtectedApps(userinfo) > 0;
|
||||
} catch (Exception e) {
|
||||
@@ -210,21 +207,32 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
return null;
|
||||
}
|
||||
|
||||
public UserInfo passwordEncoder(UserInfo userInfo) {
|
||||
public ChangePassword passwordEncoder(UserInfo userInfo) {
|
||||
ChangePassword changePassword = null;
|
||||
if(StringUtils.isNotBlank(userInfo.getPassword())) {
|
||||
changePassword = new ChangePassword(userInfo);
|
||||
passwordEncoder(changePassword);
|
||||
userInfo.setPassword(changePassword.getPassword());
|
||||
userInfo.setDecipherable(changePassword.getDecipherable());
|
||||
userInfo.setPasswordLastSetTime(changePassword.getPasswordLastSetTime());
|
||||
}
|
||||
return changePassword;
|
||||
}
|
||||
|
||||
public ChangePassword passwordEncoder(ChangePassword changePassword) {
|
||||
//密码不为空,则需要进行加密处理
|
||||
if(!StringUtils.isBlank(userInfo.getPassword())) {
|
||||
String password = passwordEncoder.encode(userInfo.getPassword());
|
||||
userInfo.setDecipherable(PasswordReciprocal.getInstance().encode(userInfo.getPassword()));
|
||||
_logger.debug("decipherable : "+userInfo.getDecipherable());
|
||||
userInfo.setPassword(password);
|
||||
userInfo.setPasswordLastSetTime(DateUtils.getCurrentDateTimeAsString());
|
||||
if(StringUtils.isNotBlank(changePassword.getPassword())) {
|
||||
String password = passwordEncoder.encode(changePassword.getPassword());
|
||||
changePassword.setDecipherable(PasswordReciprocal.getInstance().encode(changePassword.getPassword()));
|
||||
_logger.debug("decipherable : "+changePassword.getDecipherable());
|
||||
changePassword.setPassword(password);
|
||||
changePassword.setPasswordLastSetTime(DateUtils.getCurrentDateTimeAsString());
|
||||
|
||||
userInfo.setModifiedDate(DateUtils.getCurrentDateTimeAsString());
|
||||
}else {
|
||||
userInfo.setPassword(null);
|
||||
userInfo.setDecipherable(null);
|
||||
changePassword.setPassword(null);
|
||||
changePassword.setDecipherable(null);
|
||||
}
|
||||
return userInfo;
|
||||
return changePassword;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -235,32 +243,20 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
* @param passwordSetType
|
||||
* @return
|
||||
*/
|
||||
public boolean changePassword( String oldPassword,
|
||||
String newPassword,
|
||||
String confirmPassword,
|
||||
int passwordSetType) {
|
||||
public boolean changePassword( ChangePassword changePassword) {
|
||||
try {
|
||||
WebContext.setAttribute(PasswordPolicyValidator.PASSWORD_POLICY_VALIDATE_RESULT, "");
|
||||
UserInfo userInfo = WebContext.getUserInfo();
|
||||
UserInfo changeUserInfo = new UserInfo();
|
||||
changeUserInfo.setUsername(userInfo.getUsername());
|
||||
changeUserInfo.setPassword(newPassword);
|
||||
changeUserInfo.setId(userInfo.getId());
|
||||
changeUserInfo.setDecipherable(userInfo.getDecipherable());
|
||||
changeUserInfo.setPasswordSetType(passwordSetType);
|
||||
|
||||
if(newPassword.equals(confirmPassword)){
|
||||
if(oldPassword==null ||
|
||||
passwordEncoder.matches(oldPassword, userInfo.getPassword())){
|
||||
if(changePassword(changeUserInfo,true) ){
|
||||
userInfo.setPassword(changeUserInfo.getPassword());
|
||||
userInfo.setDecipherable(changeUserInfo.getDecipherable());
|
||||
UserInfo userInfo = this.findByUsername(changePassword.getUsername());
|
||||
if(changePassword.getPassword().equals(changePassword.getConfirmPassword())){
|
||||
if(StringUtils.isNotBlank(changePassword.getOldPassword()) ||
|
||||
passwordEncoder.matches(changePassword.getOldPassword(), userInfo.getPassword())){
|
||||
if(changePassword(changePassword,true) ){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}else {
|
||||
if(oldPassword!=null &&
|
||||
passwordEncoder.matches(newPassword, userInfo.getPassword())) {
|
||||
if(StringUtils.isNotBlank(changePassword.getOldPassword())&&
|
||||
passwordEncoder.matches(changePassword.getPassword(), userInfo.getPassword())) {
|
||||
WebContext.setAttribute(PasswordPolicyValidator.PASSWORD_POLICY_VALIDATE_RESULT,
|
||||
WebContext.getI18nValue("PasswordPolicy.OLD_PASSWORD_MATCH"));
|
||||
}else {
|
||||
@@ -285,23 +281,19 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
* @param passwordPolicy
|
||||
* @return
|
||||
*/
|
||||
public boolean changePassword(UserInfo changeUserInfo,boolean passwordPolicy) {
|
||||
public boolean changePassword(ChangePassword changePassword,boolean passwordPolicy) {
|
||||
try {
|
||||
_logger.debug("decipherable old : " + changeUserInfo.getDecipherable());
|
||||
_logger.debug("decipherable new : " + PasswordReciprocal.getInstance().encode(changeUserInfo.getPassword()));
|
||||
_logger.debug("decipherable old : " + changePassword.getDecipherable());
|
||||
_logger.debug("decipherable new : " + PasswordReciprocal.getInstance().encode(changePassword.getDecipherable()));
|
||||
|
||||
if (passwordPolicy && passwordPolicyValidator.validator(changeUserInfo) == false) {
|
||||
if (passwordPolicy && passwordPolicyValidator.validator(changePassword) == false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (WebContext.getUserInfo() != null) {
|
||||
changeUserInfo.setModifiedBy(WebContext.getUserInfo().getId());
|
||||
}
|
||||
changePassword = passwordEncoder(changePassword);
|
||||
|
||||
changeUserInfo = passwordEncoder(changeUserInfo);
|
||||
|
||||
if (getMapper().updatePassword(changeUserInfo) > 0) {
|
||||
changePasswordProvisioning(changeUserInfo);
|
||||
if (getMapper().changePassword(changePassword) > 0) {
|
||||
changePasswordProvisioning(changePassword);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -317,20 +309,10 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
return passwordPolicyValidator.generateRandomPassword();
|
||||
}
|
||||
|
||||
public void changePasswordProvisioning(UserInfo userInfo) {
|
||||
if(StringUtils.isNotBlank(userInfo.getPassword())) {
|
||||
UserInfo loadUserInfo = findByUsername(userInfo.getUsername());
|
||||
ChangePassword changePassword=new ChangePassword();
|
||||
changePassword.setId(loadUserInfo.getId());
|
||||
changePassword.setUserId(loadUserInfo.getId());
|
||||
changePassword.setUsername(loadUserInfo.getUsername());
|
||||
changePassword.setWindowsAccount(loadUserInfo.getWindowsAccount());
|
||||
changePassword.setMobile(loadUserInfo.getMobile());
|
||||
changePassword.setEmail(loadUserInfo.getEmail());
|
||||
changePassword.setEmployeeNumber(loadUserInfo.getEmployeeNumber());
|
||||
changePassword.setDecipherable(loadUserInfo.getDecipherable());
|
||||
changePassword.setPassword(loadUserInfo.getPassword());
|
||||
changePassword.setInstId(loadUserInfo.getInstId());
|
||||
public void changePasswordProvisioning(ChangePassword changePassworded) {
|
||||
if(changePassworded !=null && StringUtils.isNotBlank(changePassworded.getPassword())) {
|
||||
UserInfo loadUserInfo = findByUsername(changePassworded.getUsername());
|
||||
ChangePassword changePassword = new ChangePassword(loadUserInfo);
|
||||
mqPersistService.send(
|
||||
MqIdentityTopic.PASSWORD_TOPIC,
|
||||
changePassword,
|
||||
@@ -340,9 +322,6 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
|
||||
|
||||
public boolean updateAppLoginPassword(UserInfo userinfo) {
|
||||
try {
|
||||
if(WebContext.getUserInfo() != null) {
|
||||
userinfo.setModifiedBy(WebContext.getUserInfo().getId());
|
||||
}
|
||||
userinfo.setModifiedDate(DateUtils.getCurrentDateTimeAsString());
|
||||
return getMapper().updateAppLoginPassword(userinfo) > 0;
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updatePassword" parameterType="UserInfo" >
|
||||
<update id="changePassword" parameterType="ChangePassword" >
|
||||
update mxk_userinfo set
|
||||
<if test="password != null">
|
||||
password = #{password},
|
||||
@@ -93,7 +93,7 @@
|
||||
</if>
|
||||
passwordlastsettime = current_timestamp
|
||||
where
|
||||
id = #{id}
|
||||
id = #{userId}
|
||||
</update>
|
||||
|
||||
<update id="updateSharedSecret" parameterType="UserInfo" >
|
||||
|
||||
Reference in New Issue
Block a user