我正在尝试使用新的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>