哪些技术和库可用于JSF安全性?我想保护我的JSF应用程序的管理页面不受公共访问。
答案 0 :(得分:2)
这是一个相当困难的问题但是现在我会选择Spring Security或Apache Shiro。如果你不使用Spring,我会看看Shiro。设置它也很容易使用。还有一些教程,例如BalusC的this one。
另一个选项是Realms,它可能具有特定于容器(Tomcat,Glassfish,...)的设置,这些设置会使它们无法移植。您还可以使用Phase Listener这可以非常巧妙地保护小项目(如果您的应用程序很小,我会选择此选项)。还有其他框架和解决方法,尝试谷歌更多关于Java EE安全性,你会看到。
答案 1 :(得分:-2)
你可以简单地使用spring:
在pom.xml
中添加spring security依赖项,然后更改springSecurity-taglibs.xml(添加类似areAnyGranted的函数名称)
然后,在web.xml
中,添加上下文参数:
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/springSecurity-taglibs.xml</param-value>
</context-param>
之后在applicationContext-security.xml中添加角色
<security:intercept-url pattern="/pages/admin.xhtml" access="ROLE_ADMIN" />