You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by hu...@apache.org on 2012/10/06 00:32:45 UTC
[13/49] git commit: CLOUDSTACK-121: Fixed "Incorrect
username/domainId login causes NullPointerException "
CLOUDSTACK-121: Fixed "Incorrect username/domainId login causes NullPointerException "
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/92593161
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/92593161
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/92593161
Branch: refs/heads/maven-to-rpm
Commit: 92593161a2d503796a945b02d4f2da32c6936bfd
Parents: 85a42d3
Author: Rohit Yadav <ro...@citrix.com>
Authored: Fri Oct 5 11:32:45 2012 -0700
Committer: Hugo Trippaers <ht...@schubergphilis.com>
Committed: Sat Oct 6 00:30:31 2012 +0200
----------------------------------------------------------------------
api/src/com/cloud/user/UserAccount.java | 2 ++
server/src/com/cloud/user/AccountManagerImpl.java | 15 ++++++++-------
2 files changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/92593161/api/src/com/cloud/user/UserAccount.java
----------------------------------------------------------------------
diff --git a/api/src/com/cloud/user/UserAccount.java b/api/src/com/cloud/user/UserAccount.java
index 734e16b..2a6bd4f 100644
--- a/api/src/com/cloud/user/UserAccount.java
+++ b/api/src/com/cloud/user/UserAccount.java
@@ -56,4 +56,6 @@ public interface UserAccount {
String getRegistrationToken();
boolean isRegistered();
+
+ int getLoginAttempts();
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/92593161/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java
index a79251b..3fd0e17 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -1862,24 +1862,25 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
}
UserAccount userAccount = _userAccountDao.getUserAccount(username, domainId);
- UserAccountVO user = _userAccountDao.findById(userAccount.getId());
- if (user != null) {
- if ((user.getState().toString()).equals("enabled")) {
- if (!isInternalAccount(user.getType())) {
+ if (userAccount != null) {
+ if (userAccount.getState().equalsIgnoreCase(Account.State.enabled.toString())) {
+ if (!isInternalAccount(userAccount.getType())) {
//Internal accounts are not disabled
- int attemptsMade = user.getLoginAttempts() + 1;
+ int attemptsMade = userAccount.getLoginAttempts() + 1;
if (attemptsMade < _allowedLoginAttempts) {
updateLoginAttempts(userAccount.getId(), attemptsMade, false);
s_logger.warn("Login attempt failed. You have " + ( _allowedLoginAttempts - attemptsMade ) + " attempt(s) remaining");
} else {
updateLoginAttempts(userAccount.getId(), _allowedLoginAttempts, true);
- s_logger.warn("User " + user.getUsername() + " has been disabled due to multiple failed login attempts." +
+ s_logger.warn("User " + userAccount.getUsername() + " has been disabled due to multiple failed login attempts." +
" Please contact admin.");
}
}
} else {
- s_logger.info("User " + user.getUsername() + " is disabled/locked");
+ s_logger.info("User " + userAccount.getUsername() + " is disabled/locked");
}
+ } else {
+ s_logger.warn("Authentication failure: No user with name " + username + " for domainId " + domainId);
}
return null;
}