为什么JSF在使用@CustomFormAuthenticationMechanismDefinition的登录页面中不起作用?

时间:2018-09-14 14:45:51

标签: jsf payara java-ee-8

我正在尝试使用新的Java EE 8安全性。

如果我在登录页面中不使用JSF,那是可行的。如果我使用JSF,则不会显示任何内容,因为该表单位于<h:form>标记(JSF标记)内部。表单外部页面的EL表达式显示为“ #{bean.property}”,而不显示该属性的值。

如果我直接在浏览器中键入登录页面的URL,则该页面将正确显示。尝试访问受保护的页面时,如果显示该页面,则无法正确显示。

我尝试使用Chrome和Firefox。我必须添加一个例外,因为Java EE为登录页面的URL添加了“ https”。有问题吗?

该应用程序使用Payara 5.182。

页面代码:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets">

<ui:composition template="/formations/templateBase.xhtml">
<ui:define name="title">
  <h:outputText value="#{bundle.Login_Titre}"></h:outputText>
</ui:define>
<ui:define name="content">
  #{'HELLO!'} <!-- JUST TO TEST -->
  <h:form id="form">
    <p><h:outputText value="#{bundle.Login_Message}"/></p>
    <h:outputText value="#{bundle.identifiant}"/>
    <h:inputText id="login" value="#{loginBean.name}"/>
    <h:outputText value="#{bundle.password}"/>
    <h:inputSecret id="password"
                   value="#{loginBean.password}"/>
    <p><h:commandButton value="#{bundle.Login_Login}" action="#{loginBean.login}"/></p>
  </h:form>
  </ui:define>
  </ui:composition>
 </html>

0 个答案:

没有答案