Browse Source

添加定时任务,登录成功将密码输错次数设为0

wangmh 8 years ago
parent
commit
6cf47ae48b

+ 2 - 1
sso-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -228,8 +228,9 @@ public class LoginController extends BaseController {
         st.setData(JSON.toJSONString(userAccount));
         SSOHelper.setSSOCookie(request, response, st, true);
 
-        // 设置登录时间
+        // 设置登录时间,并将密码输错次数设为0
         userRecord.setLastLoginTime(System.currentTimeMillis());
+        userRecord.setPwdErrorCount(0);
         userService.save(userRecord);
 
         // 设置返回值,通知各个应用用户已经登录

+ 6 - 0
sso-server/src/main/java/com/uas/sso/dao/UserRecordDao.java

@@ -3,6 +3,7 @@ package com.uas.sso.dao;
 import com.uas.sso.entity.UserRecord;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 
 /**
  * 用户登录记录Dao
@@ -12,4 +13,9 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
  */
 public interface UserRecordDao extends JpaRepository<UserRecord, Long>, JpaSpecificationExecutor<UserRecord> {
 
+    /**
+     * 将所有用户密码输错次数设为0
+     */
+    @Query("update UserRecord u set u.pwdErrorCount = 0")
+    void clearPwdErrorCount();
 }

+ 29 - 0
sso-server/src/main/java/com/uas/sso/timertask/UserLockTimerTask.java

@@ -0,0 +1,29 @@
+package com.uas.sso.timertask;
+
+import com.uas.sso.dao.UserRecordDao;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * 用户账户锁定定时任务
+ *
+ * @author wangmh
+ */
+@Component
+public class UserLockTimerTask {
+
+    @Autowired
+    private UserRecordDao userRecordDao;
+
+    @Scheduled(cron = "0 0 0 * * *")
+    public void deleteAllLock() {
+        try {
+            userRecordDao.clearPwdErrorCount();
+            System.out.println("锁定清除:"+System.currentTimeMillis());
+        } catch (Exception e) {
+
+        }
+    }
+
+}