2013-09-03 6 views
3

합니다. 모든 데이터베이스의 사용자/역할을 사용하여 인증에 대한 좋아하지만, 나는 <security:authorize> 태그를 추가 할 때이 오류가있어보기에 인증 된 사용자에 따라 적응을 만들기 위해 :java.lang.ClassNotFoundException가 : org.springframework.security.access.expression.SecurityExpressionHandler <보안 : 인증> 사용할 때 스프링 MVC와 타일로 처음 봄 보안을 사용하고 태그

java.lang.ClassNotFoundException: org.springframework.security.access.expression.SecurityExpressionHandler 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    java.lang.Class.getDeclaredMethods0(Native Method) 
    java.lang.Class.privateGetDeclaredMethods(Unknown Source) 
    java.lang.Class.getDeclaredMethods(Unknown Source) 
    org.apache.catalina.util.Introspection.getDeclaredMethods(Introspection.java:127) 
    org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:121) 
    org.apache.jsp.WEB_002dINF.pages.jsp.indexAdmin2_jsp._jspx_meth_security_005fauthorize_005f0(indexAdmin2_jsp.java:262) 
    org.apache.jsp.WEB_002dINF.pages.jsp.indexAdmin2_jsp._jspService(indexAdmin2_jsp.java:223) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238) 
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669) 
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343) 
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) 
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) 
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355) 
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149) 
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 

이의 예입니다 이 문제를 일으키는 타일 :

나는 내가 봄 보안 항아리의 다른 버전을 남겼 내 WEB-INF/lib 폴더를 확인
<%@taglib prefix="security" uri="http://www.springframework.org/security/tags" %> 
<div class="leftpanel"> 
     <div class="leftmenu">   
      <ul class="nav nav-tabs nav-stacked"> 
       <li class="nav-header">iERP</li> 
       <security:authorize ifAnyGranted="ROLE_ADMIN" > 
       <li class="dropdown active"><a href="#"><span class="iconfa-th-list"></span>AAA</a> 
        <ul> 
         <li><a href="GestionServices.erp">Gestion des Services</a></li> 
        </ul> 
       </li> 
       </security:authorize> 
       <security:authorize ifAnyGranted="ROLE_USER" > 
       <li class="dropdown active"><a href="#"><span class="iconfa-list-alt"></span>Section de Facturation</a> 
        <ul> 
         <li><a href="FacturesParMois.erp">Facturation Par Périodes</a></li> 
        </ul> 
       </li> 
       </security:authorize> 
      </ul> 
     </div> 
</div> 
+1

는 ClassNotFoundException가를 얻고 있기 때문에, 아마 당신의 질문에 대한 클래스 경로에 대한 정보를 추가하는 것이 좋습니다 것입니다. 예를 들어, 당신은 어떻게 당신의 응용 프로그램과 어떤 항아리 (및 버전) 당신의 WEB-INF/lib에 끝을 구축하고있다? –

답변

1

, 일부는 3.1.4 등 3.0.2을 가지고 있었다. 3.1.4 버전의 모든 항아리에서 잘 작동합니다! 루크 감사합니다, 당신의 의견은 나에게 대답을 주었다!