Index: forgon-core/src/main/java/com/forgon/security/service/UserManagerImpl.java =================================================================== diff -u -r14332 -r14352 --- forgon-core/src/main/java/com/forgon/security/service/UserManagerImpl.java (.../UserManagerImpl.java) (revision 14332) +++ forgon-core/src/main/java/com/forgon/security/service/UserManagerImpl.java (.../UserManagerImpl.java) (revision 14352) @@ -413,7 +413,7 @@ } @Override - public User createOrUpdate(String name, String fullName, OrgUnit parent, + public User createOrUpdate(String name, String fullName, String status, OrgUnit parent, String[] roleNames, Map map) { User user = getUserByUserId(name.trim()); boolean isNewUser = (user == null); @@ -431,6 +431,11 @@ } user.setFullName(fullName); + if (status == null) { // 有的医院没有这个属性就默认给这个用可以登录的状态(陈家儒改) + user.setStatus(User.STATUS_ENABLED); + } else { //如果有就按his系统的为准 + user.setStatus(Integer.valueOf(status)); + } if (isNewUser) { save(user); Index: ssts-web/src/main/java/com/forgon/disinfectsystem/security/userdetails/DaoUserDetailSSTSImpl.java =================================================================== diff -u -r12335 -r14352 --- ssts-web/src/main/java/com/forgon/disinfectsystem/security/userdetails/DaoUserDetailSSTSImpl.java (.../DaoUserDetailSSTSImpl.java) (revision 12335) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/security/userdetails/DaoUserDetailSSTSImpl.java (.../DaoUserDetailSSTSImpl.java) (revision 14352) @@ -10,6 +10,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; +import org.springframework.security.authentication.DisabledException; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; @@ -107,6 +108,12 @@ throw new UsernameNotFoundException("user not found in database"); } + if(!currentLoginedUser.isEnabled()){ + logger.error("User with login: " + username + + " is disabled "); + throw new DisabledException("user is disabled"); + } + Set allRoles = currentLoginedUser.getRoles(); Collection grantedAuthoritys = getGrantedAuthorities(allRoles); Index: forgon-core/src/main/java/com/forgon/security/service/UserManager.java =================================================================== diff -u -r13977 -r14352 --- forgon-core/src/main/java/com/forgon/security/service/UserManager.java (.../UserManager.java) (revision 13977) +++ forgon-core/src/main/java/com/forgon/security/service/UserManager.java (.../UserManager.java) (revision 14352) @@ -23,7 +23,7 @@ public void remove(Object o); public void save(Object o); public void saveAndKeepPassword(User user); - public User createOrUpdate(String name, String fullName, OrgUnit parent, String[] roleNames,Map map); + public User createOrUpdate(String name, String fullName, String status, OrgUnit parent, String[] roleNames,Map map); //添加了一个status属性(陈家儒改) public Set getAllOperationIds(User user); public String getCurrentOrgUnitCode(User user); Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManagerImpl.java =================================================================== diff -u -r14347 -r14352 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManagerImpl.java (.../DataSynchronizationManagerImpl.java) (revision 14347) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/service/DataSynchronizationManagerImpl.java (.../DataSynchronizationManagerImpl.java) (revision 14352) @@ -393,7 +393,7 @@ if(parent == null){ parent = (OrgUnit)orgUnitManager.getOrgUnitByCode(默认父节点的编码); } - userManager.createOrUpdate(vo.coding, vo.name, parent, 默认角色ID, map); + userManager.createOrUpdate(vo.coding, vo.name, vo.getStatus(), parent, 默认角色ID, map); if ((count++) % 50 == 0) { objectDao.flush();