我正在使用数据领域进行登录身份验证。它工作正常。我还在我的应用程序中使用 primefaces 3.2 组件,它们也可以正常工作,但问题出现在登录前的主页上。primefaces 组件未正确呈现(例如,选项卡菜单显示为一个下方的简单链接,按钮显示为简单的 jsf 按钮等)并且登录工作正常,当我从浏览器清除浏览历史记录时, primefaces 已正确呈现,但现在领域无法工作,我被重定向到错误页面,为什么会发生这种情况?我该如何解决?由于这个原因,我的应用程序的主页被毁了。
问问题
689 次
1 回答
2
您的 Primefaces 资源似乎位于受限文件夹中。从您的安全约束定义中排除资源文件夹。
这是我的一个项目的示例配置。首先,我限制对整个项目的访问(只允许特定角色访问):
<security-constraint>
<display-name>Secured project</display-name>
<web-resource-collection>
<web-resource-name>Secured project</web-resource-name>
<description/>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>user</role-name>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
然后我为任何用户可以访问的文件夹添加例外:
<security-constraint>
<display-name>Exceptions</display-name>
<web-resource-collection>
<web-resource-name>Exceptions</web-resource-name>
<description/>
<url-pattern>/resources/*</url-pattern>
<url-pattern>/faces/resources/*</url-pattern>
<url-pattern>/faces/javax.faces.resource/*</url-pattern>
</web-resource-collection>
</security-constraint>
您需要根据您的安全策略和文件夹结构进行调整。
于 2012-06-07T09:28:07.077 回答