У нас есть приложение grails, которое использует два доменных имени, и Tomcat был настроен на использование виртуальных хостов и псевдонимов.Вот фрагмент server.xml:
<Host name="domain1.com" appBase="myApp"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>domain2.com</Alias>
</Host>
Мы также хотели ограничить доступ к веб-приложению (отличается от логинов для использования сайта), поэтому мы использовали защиту Tomcat.
Вот то, что фрагмент ограничения безопасности в приложении web.xml:
<security-constraint>
<web-resource-collection>
<web-resource-name>HTMLManger and Manager command</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!-- NOTE: This role is not present in the default users file -->
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>My Realm</realm-name>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<description>
The role that is required to log in to the Manager Application
</description>
<role-name>manager</role-name>
</security-role>
<error-page>
<error-code>401</error-code>
<location>/401.jsp</location>
</error-page>
Так вот сценарий: когда пользователь заходит на domain1.com, будет отображаться всплывающее окно базовой аутентификации.Затем пользователь вводит комбинацию имени пользователя и пароля для входа на сайт.Затем пользователь желает войти в веб-приложение (чтобы иметь возможность использовать больше функций).Механизм входа в систему (с использованием acegi) также необходимо войти на domain2.com.Теперь, прежде чем пользователь сможет войти на domain2.com, ему необходимо ввести те же учетные данные для основного всплывающего окна аутентификации.Таким образом, в основном, пользователю необходимо использовать веб-безопасность tomcat дважды, чего нам следует избегать.
Вопрос также заключается в том, что, поскольку это одно и то же веб-приложение, зачем ему дважды входить в систему?Это потому, что веб-безопасность tomcat основана на домене?Так что, даже если другой домен является просто псевдонимом исходного домена?
Спасибо!