You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/06/18 19:18:31 UTC

git commit: CS-15018: Event USER.LOGIN should contain the client IP address. Changes made in accordance with the coding convention. Reviewed-by: Alena Prokharchyk

Updated Branches:
  refs/heads/master 810151586 -> f6d16d0ab


CS-15018: Event USER.LOGIN should contain the client IP address. Changes made in accordance with the coding convention.
Reviewed-by: Alena Prokharchyk


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/f6d16d0a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/f6d16d0a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/f6d16d0a

Branch: refs/heads/master
Commit: f6d16d0ab5afea8eba1741454ea4ef371bb19916
Parents: 8101515
Author: saksham <sa...@citrix.com>
Authored: Mon Jun 4 18:45:11 2012 +0530
Committer: Alena Prokharchyk <al...@citrix.com>
Committed: Mon Jun 18 10:18:30 2012 -0700

----------------------------------------------------------------------
 server/src/com/cloud/api/ApiServer.java            |    4 ++--
 server/src/com/cloud/api/ApiServlet.java           |    2 +-
 server/src/com/cloud/user/AccountManager.java      |    2 +-
 server/src/com/cloud/user/AccountManagerImpl.java  |   10 ++++++++--
 .../com/cloud/user/MockAccountManagerImpl.java     |    2 +-
 5 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f6d16d0a/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java
index 83133e4..fc52e06 100755
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@ -773,7 +773,7 @@ public class ApiServer implements HttpRequestHandler {
         }
     }
 
-    public void loginUser(HttpSession session, String username, String password, Long domainId, String domainPath, Map<String, Object[]> requestParameters) throws CloudAuthenticationException {
+    public void loginUser(HttpSession session, String username, String password, Long domainId, String domainPath, String loginIpAddress ,Map<String, Object[]> requestParameters) throws CloudAuthenticationException {
         // We will always use domainId first. If that does not exist, we will use domain name. If THAT doesn't exist
         // we will default to ROOT
         if (domainId == null) {
@@ -789,7 +789,7 @@ public class ApiServer implements HttpRequestHandler {
             }
         }
 
-        UserAccount userAcct = _accountMgr.authenticateUser(username, password, domainId, requestParameters);
+        UserAccount userAcct = _accountMgr.authenticateUser(username, password, domainId, loginIpAddress, requestParameters);
         if (userAcct != null) {
             String timezone = userAcct.getTimezone();
             float offsetInHrs = 0f;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f6d16d0a/server/src/com/cloud/api/ApiServlet.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServlet.java b/server/src/com/cloud/api/ApiServlet.java
index b7b7fff..a0da657 100755
--- a/server/src/com/cloud/api/ApiServlet.java
+++ b/server/src/com/cloud/api/ApiServlet.java
@@ -203,7 +203,7 @@ public class ApiServlet extends HttpServlet {
                     if (username != null) {
                         String pwd = ((password == null) ? null : password[0]);
                         try {
-                            _apiServer.loginUser(session, username[0], pwd, domainId, domain, params);
+                            _apiServer.loginUser(session, username[0], pwd, domainId, domain, req.getRemoteAddr(), params);
                             auditTrailSb.insert(0,
                                     "(userId=" + session.getAttribute("userid") + " accountId=" + ((Account) session.getAttribute("accountobj")).getId() + " sessionId=" + session.getId() + ")");
                             String loginResponse = getLoginSuccessResponse(session, responseType);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f6d16d0a/server/src/com/cloud/user/AccountManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManager.java b/server/src/com/cloud/user/AccountManager.java
index a7f5a68..4c18f63 100755
--- a/server/src/com/cloud/user/AccountManager.java
+++ b/server/src/com/cloud/user/AccountManager.java
@@ -71,7 +71,7 @@ public interface AccountManager extends AccountService {
      *            made, and the signature itself in the single sign-on case
      * @return a user object, null if the user failed to authenticate
      */
-    UserAccount authenticateUser(String username, String password, Long domainId, Map<String, Object[]> requestParameters);
+    UserAccount authenticateUser(String username, String password, Long domainId, String loginIpAddress, Map<String, Object[]> requestParameters);
     
     /**
      * Locate a user by their apiKey

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f6d16d0a/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 35fbfe0..f26c44a 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -1618,7 +1618,7 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
     }
 
     @Override
-    public UserAccount authenticateUser(String username, String password, Long domainId, Map<String, Object[]> requestParameters) {
+    public UserAccount authenticateUser(String username, String password, Long domainId, String loginIpAddress, Map<String, Object[]> requestParameters) {
         UserAccount user = null;
         if (password != null) {
             user = getUserAccount(username, password, domainId, requestParameters);
@@ -1720,7 +1720,13 @@ public class AccountManagerImpl implements AccountManager, AccountService, Manag
             if (s_logger.isDebugEnabled()) {
                 s_logger.debug("User: " + username + " in domain " + domainId + " has successfully logged in");
             }
-            EventUtils.saveEvent(user.getId(), user.getAccountId(), user.getDomainId(), EventTypes.EVENT_USER_LOGIN, "user has logged in");
+            if (NetUtils.isValidIp(loginIpAddress)) {
+                EventUtils.saveEvent(user.getId(), user.getAccountId(), user.getDomainId(), EventTypes.EVENT_USER_LOGIN,
+                        "user has logged in from IP Address " + loginIpAddress);
+            } else {
+                EventUtils.saveEvent(user.getId(), user.getAccountId(), user.getDomainId(), EventTypes.EVENT_USER_LOGIN,
+                        "user has logged in. The IP Address cannot be determined");
+            }
             return user;
         } else {
             if (s_logger.isDebugEnabled()) {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/f6d16d0a/server/test/com/cloud/user/MockAccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/user/MockAccountManagerImpl.java b/server/test/com/cloud/user/MockAccountManagerImpl.java
index e6ab4fe..e7ee1ed 100644
--- a/server/test/com/cloud/user/MockAccountManagerImpl.java
+++ b/server/test/com/cloud/user/MockAccountManagerImpl.java
@@ -254,7 +254,7 @@ public class MockAccountManagerImpl implements Manager, AccountManager {
     }
 
     @Override
-    public UserAccount authenticateUser(String username, String password, Long domainId, Map<String, Object[]> requestParameters) {
+    public UserAccount authenticateUser(String username, String password, Long domainId, String loginIpAddress, Map<String, Object[]> requestParameters) {
         return null;
     }