From 0ba136c88048b626dbd2645100695c3591b1f17a Mon Sep 17 00:00:00 2001 From: Anshum Gupta Date: Tue, 9 Jun 2015 00:29:27 +0000 Subject: [PATCH] SOLR-7648: Expose remote IP and Host via the AuthorizationContext to be used by the authorization plugin. git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1684299 13f79535-47bb-0310-9956-ffa450edef68 --- solr/CHANGES.txt | 6 ++++++ .../apache/solr/security/AuthorizationContext.java | 4 ++++ .../java/org/apache/solr/servlet/HttpSolrCall.java | 11 +++++++++++ 3 files changed, 21 insertions(+) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 7b3920e6300..ae5cd8c93cc 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -174,6 +174,12 @@ Bug Fixes * SOLR-7588: Fix javascript bug introduced by SOLR-7409 that breaks the dataimport screen in the admin UI. (Bill Bell via Shawn Heisey) +Other Changes +---------------------- + +* SOLR-7648: Expose remote IP and Host via the AuthorizationContext to be used by the authorization plugin. + (Ishan Chattopadhyaya via Anshum Gupta) + ================== 5.2.0 ================== Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release diff --git a/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java b/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java index 23b4f1ae94d..2ef63f20139 100644 --- a/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java +++ b/solr/core/src/java/org/apache/solr/security/AuthorizationContext.java @@ -44,6 +44,10 @@ public abstract class AuthorizationContext { public abstract Enumeration getHeaderNames(); + public abstract String getRemoteAddr(); + + public abstract String getRemoteHost(); + public abstract List getCollectionRequests() ; public abstract RequestType getRequestType(); diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java index 35f89dd2ddc..dacb93c262c 100644 --- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java +++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java @@ -50,6 +50,7 @@ import java.util.Set; * limitations under the License. */ + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -982,6 +983,16 @@ public class HttpSolrCall { response.append("], Path: [").append(resource).append("]"); return response.toString(); } + + @Override + public String getRemoteAddr() { + return getReq().getRemoteAddr(); + } + + @Override + public String getRemoteHost() { + return getReq().getRemoteHost(); + } }; }