Browse Source

用户管理,用户锁定后依然能登录问题处理

Michael 8 years ago
parent
commit
ba74208c7d

+ 2 - 0
src/main/java/com/goafanti/common/dao/AdminMapper.java

@@ -73,5 +73,7 @@ public interface AdminMapper {
 	String selectNameByid(String id);
 	
 	List<String>selectRolesByUid(String id);
+	
+	String selectStatusByMobile(String mobile);
 
 }

+ 7 - 0
src/main/java/com/goafanti/common/mapper/AdminMapper.xml

@@ -524,4 +524,11 @@
   	where
   	uid=#{id,jdbcType=VARCHAR}
   </select>
+  <select id= "selectStatusByMobile" parameterType="java.lang.String" resultType="java.lang.String" >
+  	select 
+   	  status
+    from admin 
+    where 
+    mobile=#{mobile,jdbcType=VARCHAR}
+  </select>
 </mapper>

+ 13 - 0
src/main/java/com/goafanti/user/controller/UserLoginController.java

@@ -7,6 +7,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.web.util.SavedRequest;
 import org.apache.shiro.web.util.WebUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -20,6 +21,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseController;
+import com.goafanti.common.dao.AdminMapper;
 import com.goafanti.common.model.Admin;
 import com.goafanti.common.model.User;
 import com.goafanti.common.utils.TimeUtils;
@@ -31,6 +33,8 @@ import com.goafanti.user.service.UserService;
 public class UserLoginController extends BaseController {
 	@Resource
 	private UserService userService;
+	@Autowired
+	private AdminMapper			adminMapper;
 
 	@RequestMapping(value = "/login", method = RequestMethod.GET)
 	@ResponseBody
@@ -85,6 +89,15 @@ public class UserLoginController extends BaseController {
 	@ResponseBody
 	public Result managesignin(Admin admin, Boolean remember, HttpServletRequest request) {
 		Result res = new Result();
+		String mobile=adminMapper.selectStatusByMobile(admin.getMobile());
+		if("锁定".equals(mobile)){
+			res.getError().add(buildError("","用户已被锁定不能登录"));
+			return res;
+		}
+		if("注销".equals(mobile)){
+			res.getError().add(buildError("","用户已被注销"));
+			return res;
+		}
 		res.setData(TokenManager.manageLogin(admin, remember));
 		return res;
 	}