это то, что нам нужно для нашего экземпляра SOLR
1) все URL-адреса, кроме необходимого IP-адреса, а также ограничения пароля 2) Доступ к выбранному URL-адресу можно получить с любого IP-адреса, но для доступа требуется пароль. этот пароль отличается от пароля, использованного в пункте 1 выше. также, если IP-адрес из нашей внутренней сети, тогда пароль не требуется даже для доступа к выбранному URL-адресу
Короче говоря, нам нужно защищать все, кроме выбора из внешнего мира (ip + пароль). но для select мы хотим предоставить доступ к внешнему миру, поэтому никаких ограничений IP нет, но им нужны имя пользователя и пароль для доступа к нему. однако для выбора, для определенных IP-адресов, нам даже не нужно ограничение имени пользователя и пароля
как этого добиться. заранее спасибо, ребята
Вот как можно фильтровать запросы по IP-адресу пользователя с помощью компонента Tomcat Valve: http://wiki.apache.org/tomcat/FAQ/Security#Q6
Вы можете использовать базовую аутентификацию Tomcat, чтобы ограничить доступ к определенным шаблонам URL.
Web.xml вашего приложения Solr:
<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"/>