Here's how to filter requests by user's IP address, using Tomcat's Valve Component:
http://wiki.apache.org/tomcat/FAQ/Security#Q6
You can use Tomcat Basic authentication to restrict access to specific URL patterns.
Your Solr application's web.xml:
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Admin and Update protection</realm-name>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>Hr core administration</web-resource-name>
<url-pattern>/coreHr/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>solradmin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>En core administration</web-resource-name>
<url-pattern>/coreEn/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>solradmin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Hr core update</web-resource-name>
<url-pattern>/coreHr/update*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>solradmin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>En core update</web-resource-name>
<url-pattern>/coreEn/update*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>solradmin</role-name>
</auth-constraint>
</security-constraint>
tomcat-users.xml:
<role rolename="manager"/>
<role rolename="admin"/>
<role rolename="solradmin"/>
<user username="mbo" password="mbo11" roles="manager,admin,solradmin"/>