簡體   English   中英

創建名稱為'org.springframework.security.filterChains'的bean時出現Spring Security錯誤

[英]Spring Security error while creating bean with name 'org.springframework.security.filterChains'

離開編程一段時間后,我嘗試了有關Angular Twitter Bootstrap Spring MVC,數據和安全性 (用葡萄牙語編寫)的教程。

eclipse上的所有錯誤均已糾正,並且看起來都不錯,但是當我嘗試使用

mvn clean install tomcat7:運行

我得到常規控制台輸出和以下錯誤。 我對此調試感到非常沮喪。

[ERROR] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.filterChains': Cannot resolve reference to bean 'org.springframework.security.web.DefaultSecurityFilterChain#0' while setting bean property 'sourceList' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.web.DefaultSecurityFilterChain#0': Cannot resolve reference to bean 'org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0' while setting constructor argument with key [9]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Unsupported configuration attributes: [isAuthenticated(), permitAll]

我的spring-jpa.xml是

<?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:mvc="http://www.springframework.org/schema/mvc"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:jee="http://www.springframework.org/schema/jee"
   xmlns:jpa="http://www.springframework.org/schema/data/jpa"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
                       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
                       http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
                       http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
                       http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
                       http://www.springframework.org/schema/context http://www.springframework.org/schema/task/spring-context.xsd">

<!-- JPA Configurations -->
<jee:jndi-lookup id="myContactDataSource" jndi-name="jdbc/tomcatDataSource" lookup-on-startup="false"
                 proxy-interface="javax.sql.DataSource"/>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"/>

<tx:annotation-driven transaction-manager="transactionManager"/>

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence"/>
    <property name="dataSource" ref="myContactDataSource"/>
    <property name="persistenceUnitName" value="debtsPU"/>
    <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" />

</bean>

<!-- Spring Data -->
<jpa:repositories base-package="br.com.biologistica.debt.repository"
                  entity-manager-factory-ref="entityManagerFactory"
                  transaction-manager-ref="transactionManager"/>

我的春季安全是:

<?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:security="http://www.springframework.org/schema/security"
   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">

<security:global-method-security secured-annotations="enabled" />
   <security:http auto-config="true">
    <security:intercept-url pattern="/" access="permitAll" />
    <security:intercept-url pattern="/protected/**" access="isAuthenticated()" />

    <security:form-login login-page="/login" authentication-failure-url="/login?error=403" default-target-url="/protected/home" />

    <security:logout invalidate-session="true" logout-success-url="/login" logout-url="/logout" />
</security:http>
<security:authentication-manager>
    <security:authentication-provider>
        <security:jdbc-user-service
                data-source-ref="myContactDataSource"
                users-by-username-query="select email, password, enabled from system_user where email = ?"
                authorities-by-username-query="select u.email as login, u.user_role as role from system_user u where u.email = ?" />
    </security:authentication-provider>
</security:authentication-manager>
</beans>

數據庫是PostgreSQL。

這里似乎是什么問題?

提前致謝,

格魯德維格

正如提到的后,使用<http auto-config="true" use-expressions="true">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM