Index: forgon-core/src/main/java/com/forgon/directory/action/PersonalSettingAction.java =================================================================== diff -u -r40637 -r40761 --- forgon-core/src/main/java/com/forgon/directory/action/PersonalSettingAction.java (.../PersonalSettingAction.java) (revision 40637) +++ forgon-core/src/main/java/com/forgon/directory/action/PersonalSettingAction.java (.../PersonalSettingAction.java) (revision 40761) @@ -1,9 +1,5 @@ package com.forgon.directory.action; -import java.io.IOException; - -import javax.servlet.http.HttpServletResponse; - import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; @@ -12,12 +8,12 @@ import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.service.PersonalSettingManager; +import com.forgon.directory.service.SysUserManager; import com.forgon.exception.SystemException; import com.forgon.security.model.User; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.crypto.rsa.RSAEncrypt; -import com.google.gson.JsonArray; /** * @author Angus @@ -32,6 +28,12 @@ private PersonalSettingManager personalSettingManager ; + private SysUserManager sysUserManager; + + public void setSysUserManager(SysUserManager sysUserManager) { + this.sysUserManager = sysUserManager; + } + public void setPersonalSettingManager( PersonalSettingManager personalSettingManager) { this.personalSettingManager = personalSettingManager; @@ -57,8 +59,15 @@ String userName = StrutsParamUtils.getPraramValue("userName", ""); String j_useNameAfterRsaDecrypt = RSAEncrypt.decrypt(userName); User user = null; + //判断是否扫码登录 + boolean userNameIsBarcode = false; if(StringUtils.isNotBlank(userName)){ - user = personalSettingManager.getUserByproperty("name", j_useNameAfterRsaDecrypt); + userNameIsBarcode = j_useNameAfterRsaDecrypt.matches("^01[0-9]{7,10}$"); + String property = "name"; + if(userNameIsBarcode){ + property = "barcode"; + } + user = sysUserManager.getUserByPropertyWithLower(property, j_useNameAfterRsaDecrypt); }else{ user = personalSettingManager.getUserByproperty("id", id); }