我想在我的jsf项目中使用spring security taglibs,所以我对项目进行了以下更改,但我得到了这个异常:
Error occurred during deployment: Exception while loading the app :
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: 源文档: jar:file:/C:/Users/omid4 /Desktop/omidircs/final/omidircs/omidircs/build/web/WEB-iNF/lib/org.springframework.faces-2.3.1.RELEASE.jar!/META-INF/faces-config.xml 原因:无法创建>'org.springframework.faces.webflow.FlowActionListener'的新实例:java.lang.reflect.InvocationTargetException。
我在这里做错了什么?我有其他配置吗?我用 :
netbeans 7.1.2 --spring mvc 3.0.6--spring security 3.1.1--glassfish 3.1.2 和 jsf 2.1
springsecurity.taglib.xml:
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://www.springframework.org/security/tags</namespace>
<tag>
<tag-name>authorize</tag-name>
<handler-class>org.springframework.faces.security.FaceletsAuthorizeTagHandler</handler-class>
</tag>
<function>
<function-name>areAllGranted</function-name>
<function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class>
<function-signature>boolean areAllGranted(java.lang.String)</function-signature>
</function>
<function>
<function-name>areAnyGranted</function-name>
<function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class>
<function-signature>boolean areAnyGranted(java.lang.String)</function-signature>
</function>
<function>
<function-name>areNotGranted</function-name>
<function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class>
<function-signature>boolean areNotGranted(java.lang.String)</function-signature>
</function>
<function>
<function-name>isAllowed</function-name>
<function-class>org.springframework.faces.security.FaceletsAuthorizeTagUtils</function-class>
<function-signature>boolean isAllowed(java.lang.String, java.lang.String)</function-signature>
</function>
</facelet-taglib>
网页.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- /========================jsf config=============================/-->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>#{sessionManager.theme}</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>/index.xhtml</welcome-file>
</welcome-file-list>
<!-- /========================spring config=============================/-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
/WEB-INF/spring-security.xml
</param-value>
</context-param>
<context-param>
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/springsecurity.taglib.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.security.web.session.HttpSessionEventPublisher
</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
</web-app>
我的页面.xhtml:
xmlns:sec="http://www.springframework.org/security/tags"
.
.
.
<sec:authorize access="ROLE_SUPERADMIN">
<h:outputText value="test" />
</sec:authorize>
我的库:
org.springframework.cglib-2.2 3.0.6.RELEASE
org.springframework.aop 3.0.6.RELEASE
org.springframework.asm 3.0.6.RELEASE
org.springframework.aspects 3.0.6.RELEASE
org.springframework.beans 3.0.6.RELEASE
org.springframework.context 3.0.6.RELEASE
org.springframework.context.support 3.0.6.RELEASE
org.springframework.core 3.0.6.RELEASE
org.springframework.expression 3.0.6.RELEASE
org.springframework.instrument 3.0.6.RELEASE
org.springframework.expression 3.0.6.RELEASE
org.springframework.jdbc 3.0.6.RELEASE
org.springframework.jms 3.0.6.RELEASE
org.springframework.orm 3.0.6.RELEASE
org.springframework.oxm 3.0.6.RELEASE
org.springframework.test 3.0.6.RELEASE
org.springframework.tx 3.0.6.RELEASE
org.springframework.web 3.0.6.RELEASE
org.springframework.webmvc-portlet 3.0.6.RELEASE
org.springframework.webmvc 3.0.6.RELEASE
org.springframework.struts 3.0.6.RELEASE
commons-logging-1.1.1
jsf 2.1-jsf-api
jsf 2.1 -jsf-impl
jstl 1.1-standard
jstl 1.1-jstl
spring-security-ldap-3.1.1.RELEASE.jar
spring-security-config-3.1.1.RELEASE.jar
spring-security-core-3.1.1.RELEASE.jar
spring-security-taglibs-3.1.1.RELEASE.jar
spring-security-web-3.1.1.RELEASE.jar
org.springframework.webflow-2.0.3.jar
org.springframework.binding-2.0.3.jar