Ignore:
Timestamp:
09/06/11 13:29:36 (9 months ago)
Author:
delmitz
Branch:
default
Convert:
svn:7c3792e6-d75b-4784-96a6-b298f655ee64/trunk@2739
Message:
  • added auto disable admin login lock (1hour).
  • modified password hash bug when user created.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kraken-dom/src/main/java/org/krakenapps/dom/api/impl/AdminApiImpl.java

    r302 r305  
    1616package org.krakenapps.dom.api.impl; 
    1717 
     18import java.util.Calendar; 
    1819import java.util.Date; 
    1920import java.util.List; 
     
    8384                if (success) { 
    8485                        admin.setLoginFailures(0); 
     86                        admin.setEnabled(true); 
    8587                } else { 
     88                        admin.setLastLoginFailedDateTime(new Date()); 
    8689                        admin.setLoginFailures(admin.getLoginFailures() + 1); 
    8790                        if (admin.isUseLoginLock() && admin.getLoginFailures() >= admin.getLoginLockCount()) 
     
    98101                        Admin admin = (Admin) em.createQuery("SELECT a FROM Admin a LEFT JOIN a.user u WHERE u.loginName = ?") 
    99102                                        .setParameter(1, nick).getSingleResult(); 
    100                         if (!admin.isEnabled()) 
    101                                 throw new AdminLockedException(); 
     103                        if (!admin.isEnabled()) { 
     104                                Date failed = admin.getLastLoginFailedDateTime(); 
     105                                Calendar c = Calendar.getInstance(); 
     106                                c.add(Calendar.HOUR_OF_DAY, -1); 
     107                                if (failed != null && failed.after(c.getTime())) 
     108                                        throw new AdminLockedException(); 
     109                                else 
     110                                        updateLoginFailures(admin, true); 
     111                        } 
    102112 
    103113                        admin.setLastLoginDateTime(new Date()); 
Note: See TracChangeset for help on using the changeset viewer.