복붙노트

[SPRING] Spring Security 경고 : 클래스 AuthorityUtils는 추상적입니까?

SPRING

Spring Security 경고 : 클래스 AuthorityUtils는 추상적입니까?

Spring Security 3.2.5.RELEASE와 Spring 4.1.1.RELEASE로 옮긴 이래 Eclipse (Luna)에서 Spring Bean 유효성 검사 경고가 표시됩니다.

정확한 경고는 다음과 같습니다.

'org.springframework.security.core.authority.AuthorityUtils'클래스는 추상적입니다.

다음은이 Spring 파일의 헤더이다.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:springsecurity="http://www.springframework.org/schema/security"
    xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsd
        http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">

구성의 잘못된 부분은 다음과 같습니다 (이 섹션을 제거하면 오류가 사라집니다.) 특히 springsecurity : authentication-provider 스탠자를 제거하면 다음과 같습니다.

<springsecurity:authentication-manager alias="authenticationManager">
    <springsecurity:authentication-provider>
        <springsecurity:user-service>
            <springsecurity:user name="john" password="john"
                authorities="ROLE_USER" />
            <springsecurity:user name="admin" password="admin"
                authorities="ROLE_USER, ROLE_ADMIN" />
            <springsecurity:user name="guest" password="guest"
                authorities="ROLE_GUEST" />
        </springsecurity:user-service>
    </springsecurity:authentication-provider>
</springsecurity:authentication-manager>

이것의 근본 원인에 대한 아이디어가 있습니까? 우리 프로젝트는 가짜 경고를하지 않으며 스프링 빈 검증을 비활성화하려고하지 않습니다.

해결법

  1. ==============================

    1.Luke Taylor가 지적했듯이 이것은 Spring Tool Suite 3.6.0 버전의 버그입니다. 버그 보고서는 https://issuetracker.springsource.com/browse/STS-3875에 있으며 STS 버전 3.6.3 이전에는 수정되지 않습니다. 이 클래스의 코드는 http://www.docjar.com/html/api/org/springframework/orm/jpa/SharedEntityManagerCreator.java.html에서 확인할 수 있습니다.

    Luke Taylor가 지적했듯이 이것은 Spring Tool Suite 3.6.0 버전의 버그입니다. 버그 보고서는 https://issuetracker.springsource.com/browse/STS-3875에 있으며 STS 버전 3.6.3 이전에는 수정되지 않습니다. 이 클래스의 코드는 http://www.docjar.com/html/api/org/springframework/orm/jpa/SharedEntityManagerCreator.java.html에서 확인할 수 있습니다.

    [편집] 버그 리포트는이 버그가 수정되었음을 알려줍니다. 버전 3.6.4에서 수정되었습니다.

  2. from https://stackoverflow.com/questions/26770789/spring-security-warning-class-authorityutils-is-abstract by cc-by-sa and MIT license