2

i want use spring security taglibs in my jsf project,so I've made ​​the following changes to the project,but I get this Exception:

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: Source Document: 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 Cause: Unable to create a new instance of >'org.springframework.faces.webflow.FlowActionListener': java.lang.reflect.InvocationTargetException.

What am I doing wrong here?The other config do I have? i use :

netbeans 7.1.2 --spring mvc 3.0.6-- spring security 3.1.1--glassfish 3.1.2 and 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>

web.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>

mypage.xhtml:

xmlns:sec="http://www.springframework.org/security/tags"
.
.
.
<sec:authorize access="ROLE_SUPERADMIN">
      <h:outputText value="test" />                          
</sec:authorize>

mylib :

    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
ElderMael
  • 7,000
  • 5
  • 34
  • 53
faranak
  • 63
  • 1
  • 9
  • If you need csrf protection tags for facelets, read this: http://halexv.blogspot.mx/2015/07/spring-security-4x-csrf-protection-for.html – AlexITC Jul 03 '15 at 04:42

1 Answers1

0

i solved this problem with remove libraries: org.springframework.webflow-2.0.3.jar org.springframework.binding-2.0.3.jar

and download org.springframework.webflow-2.3.1 and dependency from http://www.springsource.org/download/community?project=Spring%2520Web%2520Flow and resolve exceptions

faranak
  • 63
  • 1
  • 9