2

我想在我的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
4

1 回答 1

0

我通过删除库解决了这个问题:org.springframework.webflow-2.0.3.jar org.springframework.binding-2.0.3.jar

并从http://www.springsource.org/download/community?project=Spring%2520Web%2520Flow下载 org.springframework.webflow-2.3.1 和依赖项 并解决异常

于 2012-12-08T08:45:59.177 回答