Spring-Security 3.1 java.lang.ClassNotFoundException: org.springframework.security.taglibs.authz.AuthorizeTag - PullRequest
10 голосов
/ 06 октября 2011

Я только что обновил Spring Security 3.0.5 до 3.1.0.RC3

Теперь следующий код JSP дает мне java.lang.ClassNotFoundException: org.springframework.security.taglibs.authz.AuthorizeTag

<security:authorize access="not hasRole('ROLE_ANONYMOUS')">
Welcome <%= request.getUserPrincipal().getName() %>
</security:authorize>

Я смотрю на Справочную документацию по безопасности Spring 3.1 и похоже, что тег <security:authorize> должен работать. Однако когда я смотрю на каталог org.springframework.security.taglibs.authz в spring-security-taglibs-3.1.0.RC3.jar, я не вижу там AuthorizeTag.class.

Что здесь не так?

спасибо!

Ответы [ 5 ]

29 голосов
/ 14 декабря 2011

Я обнаружил, что Tomcat может кэшировать старый файл security.tld, даже библиотека безопасности Spring имеет версию 3.1.Удалите рабочий каталог Tomcat и перезапустите его, теперь он будет работать нормально.

1 голос
/ 27 июня 2013

Попробуйте обновить security.tld (3.0.0.RELEASE):

<tag-class>org.springframework.security.taglibs.authz.AuthorizeTag</tag-class>

до

<tag-class>org.springframework.security.taglibs.authz.JspAuthorizeTag</tag-class>

Это работа для моего проекта конфигурации с FreeMarker

<#assign security=JspTaglibs["/WEB-INF/tlds/security.tld"] />

( mvn причал: запустить и mvn tomcat: запустить ). ; -)

1 голос
/ 27 февраля 2013

переименовывается в JspAuthorizeTag

(org.springframework.security.taglibs.authz.JspAuthorizeTag)

1 голос
/ 06 октября 2011

Полагаю, у вас где-то есть старый файл security.tld.Убедитесь, что вы не скопировали его в свой WEB-INF и что в вашем пути к классам нет старых файлов Jar Spring Security.

0 голосов
/ 29 октября 2016

Чтобы решить эту проблему в Spring MVC,

Вам необходимо добавить jar / зависимость в файл pom.xml.

<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>${springsecurity.version}</version>
</dependency>

После добавления файла jar taglib необходимо импортировать пакет в файл JSP.

<%@ page import="org.springframework.security.taglibs.authz.JspAuthorizeTag "%> 

Пожалуйста, удалите Uri taglib из файла JSP <%@ taglib prefix="authz" uri="http://www.springframework.org/security/tags"%>

...