Невозможно перейти ко второму этапу планирования на сервере Jasper

Я использую Jasper Server 4.5.0 32-битную версию.

Когда я нажимаю «Далее» после заполнения имени отчета в соответствии с запросом на первом этапе планирования отчета на сервере, появляется следующая ошибка:

The server has encountered an error. Please excuse the inconvenience. 
An error has occurred. Please contact your system administrator. (5321)

Журнал ошибок:

2012-04-09 17:37:38,940  WARN IntrusionDetector,http-8080-2:449 - [SECURITY FAILURE Anonymous:null@unknown -> /ExampleApplication/IntrusionDetector] Invalid input: context=trigger.timezone-ViewRepository_Schedule_OutputSettings_context, type(AlphaUnderscoreForward)=^[\p{L}\p{M}\p{Pc}\/]*$, input=GMT 05:30
org.owasp.esapi.errors.ValidationException: trigger.timezone-ViewRepository_Schedule_OutputSettings_context: Invalid input. Please conform to regex ^[\p{L}\p{M}\p{Pc}\/]*$ with a maximum length of 100
    at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:144)
    at org.owasp.esapi.reference.validation.StringValidationRule.checkWhitelist(StringValidationRule.java:160)
    at org.owasp.esapi.reference.validation.StringValidationRule.getValid(StringValidationRule.java:284)
    at org.owasp.esapi.reference.DefaultValidator.getValidInput(DefaultValidator.java:213)
    at com.jaspersoft.jasperserver.api.security.validators.ValidatorImpl.validate(ValidatorImpl.java:345)
    at com.jaspersoft.jasperserver.api.security.validators.ValidatorImpl.validate(ValidatorImpl.java:251)
    at com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.validate(WebAppSecurityFilter.java:175)
    at com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.doFilter(WebAppSecurityFilter.java:82)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
    at com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.doFilter(MultipartRequestWrapperFilter.java:90)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
    at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
    at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
    at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411)
    at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188)
    at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:67)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:558)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
    at java.lang.Thread.run(Thread.java:619)
2012-04-09 17:37:38,972  WARN JSCommonController,http-8080-2:202 - There was a security error

person Sahar Hassan    schedule 09.04.2012    source источник
comment
Вы можете прочитать эту проблему и этот.   -  person Alex K    schedule 09.04.2012
comment
Это для типа Email, в моем случае это тип (AlphaUnderscoreForward), а второй пост, которым вы поделились, принадлежит только мне. :)   -  person Sahar Hassan    schedule 09.04.2012
comment
Я понимаю :). Вы должны добавить журнал в тело вопроса   -  person Alex K    schedule 09.04.2012
comment
Кажется, что-то не так с timezone на вашем сервере.   -  person Alex K    schedule 09.04.2012
comment
Вы можете попробовать изменить регулярное выражение в validation.properties файле. Validator.AlphaUnderscoreForward - это твое   -  person Alex K    schedule 09.04.2012
comment
Или вы можете попробовать прокомментировать trigger.timezone=AlphaDot,AlphaUnderscoreForward,100,true,trigger.timezone-ViewRepository_Schedule_OutputSettings_context строку в esapi\security.properties файле   -  person Alex K    schedule 09.04.2012
comment
Комментирование записи в файле security.properties сработало! Спасибо Алекс!   -  person Sahar Hassan    schedule 09.04.2012
comment
Добро пожаловать :) Я думаю, вам следует проверить настройки timezone   -  person Alex K    schedule 09.04.2012
comment
@AlexK, вы должны опубликовать как ответ. Это поможет будущим читателям.   -  person mdahlman    schedule 09.04.2012
comment
@AlexK, часовой пояс установлен как Validator.Timezone=^[\\p{L}\\p{N}_\\/\\:\\+ ]*$ в файле validation.properties. Я из Индии, и должны ли эти настройки измениться соответствующим образом?   -  person Sahar Hassan    schedule 10.04.2012
comment
@SaharHassan Это валидатор часового пояса, а не часового пояса.   -  person Alex K    schedule 10.04.2012


Ответы (1)


Чтобы отключить проверку timezone, вы можете прокомментировать (или удалить) эту строку в файле jasperserver\WEB-INF\classes\esapi\security.properties:

trigger.timezone=AlphaDot,AlphaUnderscoreForward,100,true,trigger.timezone-ViewRepository_Schedule_OutputSettings_context

Вы должны проверить timezone, определенные на вашем сервере:

  • часовой пояс по умолчанию (получить с помощью Java — java.util.TimeZone.getDefault());
  • список с часовыми поясами, который у вас есть в файле jasperserver\WEB-INF\applicationContext.xml для компонента userTimeZonesList, свойство timeZonesIds.

Выражение

Validator.AlphaUnderscoreForward=^[\\p{L}\\p{M}\\p{Pc}\\/]*$

из файла jasperserver\WEB-INF\classes\esapi\validation.properties — это просто регулярное выражение для проверки значения.

person Alex K    schedule 10.04.2012