You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/03/25 08:29:16 UTC
atlas git commit: ATLAS-2505: add client IP address in authorization
requests
Repository: atlas
Updated Branches:
refs/heads/master 729d92386 -> 31eb3664c
ATLAS-2505: add client IP address in authorization requests
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/31eb3664
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/31eb3664
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/31eb3664
Branch: refs/heads/master
Commit: 31eb3664ce8722f4323fa4a5369ebec26959aa1f
Parents: 729d923
Author: nixonrodrigues <ni...@apache.org>
Authored: Mon Mar 19 16:32:59 2018 +0530
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Sun Mar 25 01:24:11 2018 -0700
----------------------------------------------------------------------
authorization/pom.xml | 5 +++++
.../apache/atlas/authorize/AtlasAuthorizationUtils.java | 8 ++++----
.../src/main/java/org/apache/atlas/RequestContextV1.java | 10 ++++++++++
.../java/org/apache/atlas/web/filters/AuditFilter.java | 2 +-
4 files changed, 20 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/atlas/blob/31eb3664/authorization/pom.xml
----------------------------------------------------------------------
diff --git a/authorization/pom.xml b/authorization/pom.xml
index 92be82e..62a6ebb 100644
--- a/authorization/pom.xml
+++ b/authorization/pom.xml
@@ -41,6 +41,11 @@
</dependency>
<dependency>
+ <groupId>org.apache.atlas</groupId>
+ <artifactId>atlas-server-api</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet.version}</version>
http://git-wip-us.apache.org/repos/asf/atlas/blob/31eb3664/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
----------------------------------------------------------------------
diff --git a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
index 8c57946..e7726b9 100644
--- a/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
+++ b/authorization/src/main/java/org/apache/atlas/authorize/AtlasAuthorizationUtils.java
@@ -33,7 +33,7 @@ import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.HashSet;
import java.util.Set;
-
+import org.apache.atlas.RequestContextV1;
public class AtlasAuthorizationUtils {
private static final Logger LOG = LoggerFactory.getLogger(AtlasAuthorizationUtils.class);
@@ -71,7 +71,7 @@ public class AtlasAuthorizationUtils {
AtlasAuthorizer authorizer = AtlasAuthorizerFactory.getAtlasAuthorizer();
request.setUser(userName, getCurrentUserGroups());
-
+ request.setClientIPAddress(RequestContextV1.get().getClientIPAddress());
ret = authorizer.isAccessAllowed(request);
} catch (AtlasAuthorizationException e) {
LOG.error("Unable to obtain AtlasAuthorizer", e);
@@ -92,7 +92,7 @@ public class AtlasAuthorizationUtils {
AtlasAuthorizer authorizer = AtlasAuthorizerFactory.getAtlasAuthorizer();
request.setUser(getCurrentUserName(), getCurrentUserGroups());
-
+ request.setClientIPAddress(RequestContextV1.get().getClientIPAddress());
ret = authorizer.isAccessAllowed(request);
} catch (AtlasAuthorizationException e) {
LOG.error("Unable to obtain AtlasAuthorizer", e);
@@ -113,7 +113,7 @@ public class AtlasAuthorizationUtils {
AtlasAuthorizer authorizer = AtlasAuthorizerFactory.getAtlasAuthorizer();
request.setUser(getCurrentUserName(), getCurrentUserGroups());
-
+ request.setClientIPAddress(RequestContextV1.get().getClientIPAddress());
ret = authorizer.isAccessAllowed(request);
} catch (AtlasAuthorizationException e) {
LOG.error("Unable to obtain AtlasAuthorizer", e);
http://git-wip-us.apache.org/repos/asf/atlas/blob/31eb3664/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
----------------------------------------------------------------------
diff --git a/server-api/src/main/java/org/apache/atlas/RequestContextV1.java b/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
index 4f96287..b7c5686 100644
--- a/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
+++ b/server-api/src/main/java/org/apache/atlas/RequestContextV1.java
@@ -37,6 +37,8 @@ public class RequestContextV1 {
private String user;
private Set<String> userGroups;
+ private String clientIPAddress;
+
private RequestContextV1() {
}
@@ -79,6 +81,14 @@ public class RequestContextV1 {
this.userGroups = userGroups;
}
+ public String getClientIPAddress() {
+ return clientIPAddress;
+ }
+
+ public void setClientIPAddress(String clientIPAddress) {
+ this.clientIPAddress = clientIPAddress;
+ }
+
public void recordEntityUpdate(AtlasObjectId entity) {
if (entity != null && entity.getGuid() != null) {
updatedEntities.put(entity.getGuid(), entity);
http://git-wip-us.apache.org/repos/asf/atlas/blob/31eb3664/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
----------------------------------------------------------------------
diff --git a/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java b/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
index 073d7ee..545f4c2 100755
--- a/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
+++ b/webapp/src/main/java/org/apache/atlas/web/filters/AuditFilter.java
@@ -76,7 +76,7 @@ public class AuditFilter implements Filter {
RequestContextV1.clear();
RequestContextV1 requestContext = RequestContextV1.get();
requestContext.setUser(user, userGroups);
-
+ requestContext.setClientIPAddress(AtlasAuthorizationUtils.getRequestIpAddress(httpRequest));
filterChain.doFilter(request, response);
} finally {
long timeTaken = System.currentTimeMillis() - startTime;