Пользовательская страница ошибки (401) вызывает «Должен вызывать associate () перед вызовом activ ()» - PullRequest
0 голосов
/ 08 ноября 2018

Я разрабатываю приложение javaee с JSF / Primefaces.

Мне нужно было защитить свое приложение.Я сделал это с:

<security-constraint>
        <web-resource-collection>
            <web-resource-name>APP</web-resource-name>
            <url-pattern>*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <description>MYROLE desc</description>
            <role-name>MYROLEAccess</role-name>
        </auth-constraint>
        <user-data-constraint>
            <transport-guarantee>NONE</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
<login-config>
   <auth-method>BASIC</auth-method>
</login-config>

Однако, когда я определил пользовательскую страницу ошибки для ошибки 401

<error-page>
   <error-code>401</error-code>
   <location>/error/401.xhtml</location>
</error-page>

, я получил:

   Problem occurred while serving the error page.
    java.lang.IllegalStateException: Must call associate() before calling activate()
        at org.jboss.weld.context.AbstractConversationContext.activate(AbstractConversationContext.java:196)
        at org.jboss.weld.jsf.WeldPhaseListener.activateConversations(WeldPhaseListener.java:108)
        at org.jboss.weld.jsf.WeldPhaseListener.beforePhase(WeldPhaseListener.java:85)
        at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
        Truncated. see log file for complete stacktrace

`

и браузер выдает HTTP ERROR 500.

Я использую weblogic 12.1.3 и java 7.

Я пробовал с weblogic 12.2.x и java 8, и это работает.Что здесь не так?Вы можете мне помочь?Если я не отображаю ошибку, она запрашивает учетные данные, в противном случае она сразу переходит в Error-500.

...