Предотвращение отчета о состоянии кота

Вы могли всегда использовать инструмент тестового покрытия как EMMA ( http://emma.sourceforge.net/ ) или его плагин Eclipse EclEmma ( http://www.eclemma.org/ ) и т.п. Некоторые разработчики полагают, что 100%-е тестовое покрытие является достойной целью; другие не соглашаются.

5
задан Maurice Perry 4 August 2009 в 07:42
поделиться

4 ответа

Установка статуса ответа на 401 сообщит браузеру только «запрещено», а tomcat отобразит страницу ошибки. Сам по себе он не будет запускать процесс аутентификации.

Чтобы активировать аутентификацию, вам нужно добавить еще один заголовок к ответу:

httpResponse.setHeader("WWW-Authenticate", "Basic realm=\"MyApp\"");

где «MyApp» - это имя желаемой области HTTP-аутентификации. Добавьте этот заголовок, и браузер откроет диалоговое окно аутентификации и повторит запрос.

Вы должны знать, что tomcat по-прежнему отправляет страницу с ошибкой вместе с заголовками, просто браузер не будет отображать ее так долго поскольку ответ содержит заголовок аутентификации.

5
ответ дан 13 December 2019 в 05:39
поделиться

Недовольны страницами ошибок по умолчанию, которые поставляются с Tomcat? Вы можете определить свои собственные страницы ошибок в файле web.xml. В примере, показанном ниже, мы определяем 2 веб-страницы - server_error.html и file_not_found.html, которые будут отображаться, когда сервер обнаружит ошибку 500 или ошибку 404 соответственно.

<error-page>
    <error-code>500</error-code>
    <location>/server_error.html</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/file_not_found.html</location>
</error-page>   

Однако вы должны иметь в виду, что порядок тегов в файле web.xml очень важен. Если порядок в вашем файле web.xml неправильный, Tomcat будет выводить ошибки при запуске

источник: http://linux-sxs.org/internet_serving/c581.html

3
ответ дан 13 December 2019 в 05:39
поделиться

Страница ошибки Tomcat может возникать из-за того, что вы не включаете достаточно информации для вашего браузера, чтобы сделать то, что вы хотите дальше. Хотя вы видите страницу, на ней не будет кода состояния 200. Если вы посмотрите на заголовок, вы увидите там 401. Я подозреваю, что это ваш браузер не знает, что делать дальше.

Вы не указываете в своем вопросе, что вы хотите, чтобы браузер делал, но, возможно, вам нужно включить дополнительную информацию в HTTP-заголовок ошибки 401 сообщение. Вы можете переопределить сообщения об ошибках по умолчанию, добавив узел error-page в свой файл web.xml. Местоположение может быть сервлетом или JSP, поэтому вы можете предоставить некоторую логику, а не просто статическую страницу.

<error-page>
    <error-code>401</error-code>
    <location>/my401.jsp</location>
</error-page>
3
ответ дан 13 December 2019 в 05:39
поделиться

Почему бы не использовать login-config , security -constraint и security-role элементы из web.xml для этого? Маленький пример:

<login-config>

  <auth-method>FORM</auth-method>

  <realm-name>Your-Name</realm-name>

  <form-login-config>

    <form-login-page>/login.jsp</form-login-page>

    <form-error-page>/error_login.xhtml</form-error-page>

  </form-login-config>

</login-config>


<security-constraint>

   <web-resource-collection>

      <web-resource-name>Some-Name</web-resource-name>

      <url-pattern>/path/to/directory/*</url-pattern>

   </web-resource-collection>

   <auth-constraint>

      <role-name>USER</role-name>

      <role-name>ADMIN</role-name>

   </auth-constraint>   

 </security-constraint>


 <security-role>

    <description>Role for all users</description>

    <role-name>USER</role-name>

 </security-role>


 <security-role>

    <description>role for all admins</description>

    <role-name>ADMIN</role-name>

 </security-role>

Для этого пользователям, которые хотят посетить ваш / путь / к / каталогу / или любой из его подкаталогов, необходимо будет войти в систему. Доступ будет предоставлен только в том случае, если пользователь имеет роль USER или ADMIN. Вы можете установить это значение даже для корневого каталога, поэтому сначала все пользователи должны будут войти в систему ..

0
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: