我想在我的JSF項目中使用Spring Security標記庫,所以我做了以下更改項目,但我得到這個異常:春季安全的Taglib
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
謝謝你的回覆,但我已經做到了,我得到這個異常:org.springframework.faces.webflow.FlowActionListener'缺少運行時依賴:java.lang.NoClassDefFoundError:org/springframework/webflow/execution /的RequestContext。 – faranak
現在你缺少如上所述的webflow罐子彈簧面將取決於其他罐子。 –
我該如何解決這個問題? – faranak