从JSF页面登录(基于表单)

从JSF页面登录(基于表单),jsf,login,richfaces,j-security-check,Jsf,Login,Richfaces,J Security Check,在JBoss4.2.3上使用JSF1.2和RichFaces 3.3.1 我刚刚开始使用JSF应用程序。它的大部分内容都使用XHTML文件,登录时使用login.jsp和基于表单的身份验证,据我所知,这在JSF应用程序中很常见。但是,我现在需要包括常规页面中的部分,其中包括一个标题栏和一个右面板,它们具有RichFace样式。我已经尝试了几十种组合方式将富标签放入登录页面,同时仍然允许提交通过j_安全检查,但到目前为止没有任何效果。有办法做到这一点吗?只需将login.jsp转换为login.x

在JBoss4.2.3上使用JSF1.2和RichFaces 3.3.1


我刚刚开始使用JSF应用程序。它的大部分内容都使用XHTML文件,登录时使用login.jsp和基于表单的身份验证,据我所知,这在JSF应用程序中很常见。但是,我现在需要包括常规页面中的部分,其中包括一个标题栏和一个右面板,它们具有RichFace样式。我已经尝试了几十种组合方式将富标签放入登录页面,同时仍然允许提交通过j_安全检查,但到目前为止没有任何效果。有办法做到这一点吗?

只需将login.jsp转换为login.xhtml即可。这与j_安全检查请求来自何处无关。您可以在JSF/Facelets页面中使用普通HTML。

好吧,有趣的是,即使我将其转换为更改页眉、取出脚本、修复非严格HTML语法等,我也会遇到两个问题之一。如果web.xml将表单登录页面设置为login.xhtml,则登录过程可以工作,但顶部面板的ui:include不工作。如果web.xml使用login.jsf,则ui:include可以工作,但不会导入富样式类,它不会继续访问请求的页面home.jsf,而是会显示一个空文件spacer.gif.jsf。spacer.gif是登录页面中最后一个加载的图像,但对我来说仍然没有意义。您应该在FacesServlet的映射上定义登录页面,即login.jsf是正确的。CSS问题听起来像是一个绝对/相对路径问题。间隔棒对我来说完全没有意义。你是如何构建这个表单的?你刚刚用对了吗?这是:更让人困惑的是,如果我直接进入登录页面,比如,我的URL是这样的,那么RichFaces样式就会正确引入。但是,如果由于容器管理器的安全性(例如,我的URL类似,主页是受保护的页面)而登录,那么页面源看起来是相同的,添加了相同的RichFaces链接和脚本标记。但是深入研究这些引用的内容会显示出与我的HTML的重复,而不是预期的CSS和JS。