2012-12-04 4 views
3

내가 내 JSF 프로젝트에 스프링 보안 태그 라이브러리를 사용하려면, 그래서 프로젝트에 다음과 같이 변경했습니다,하지만 난이 예외 얻을 :봄 보안 태그 라이브러리

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: java.lang.ClassNotFoundException: org.springframework.faces.security.FaceletsAuthorizeTagHandler. Please see server.log for more details.

내가 잘못 여기서 뭐하는 거지 무엇을 ? 제가 사용

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 

답변

8

당신은 얼굴 봄 보안 태그를 통합하기 위해 spring-faces을 포함해야합니다. 당신이 maven을 사용하고 있다면, dependency을 추가 할 것을 제안 할 것이다. JAR 의존성을 가지기 때문이다.

+0

답장을 보내 주셔서 감사합니다.하지만 이미 해봤습니다. 예외 : org.springframework.faces.webflow.FlowActionListener '에 런타임 종속성이 없습니다. java.lang.NoClassDefFoundError : org/springframework/webflow/execution/RequestContext. – faranak

+0

이제 봄철 얼굴은 다른 항아리에 따라 달라집니다 위에서 언급 한 webflow 항아리가 없습니다. –

+0

어떻게이 문제를 해결할 수 있습니까? – faranak