0

これは非常に簡単な質問です。私はチュートリアルに従っており、春のセキュリティに passwordEncoder を追加するところまで来ています。次の XML があります...

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                    http://www.springframework.org/schema/security 
                    http://www.springframework.org/schema/security/spring-security-3.1.xsd">

    <http pattern="/static/**" security="none" />
    <http use-expressions="true">
        <intercept-url pattern="/login" access="permitAll" />
        <intercept-url pattern="/*" access="isAuthenticated()" />
        <!-- <intercept-url pattern="/secure/extreme/**" access="hasRole('supervisor')" 
            /> -->
        <!-- <intercept-url pattern="/listAccounts.html" access="isAuthenticated()" 
            /> -->
        <!-- <intercept-url pattern="/post.html" access="hasAnyRole('supervisor','teller')" 
            /> -->
<!--        <intercept-url pattern="/*" access="denyAll" /> -->
        <form-login />
        <logout invalidate-session="true" logout-success-url="/"
            logout-url="/logout" />
    </http>

    <authentication-manager>
        <authentication-provider user-service-ref="customUserDetailsService">
          <password-encoder ref="passwordEncoder"/>
        </authentication-provider>
</authentication-manager>

<bean class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" id="passwordEncoder"/>

</beans:beans> 

問題は、<bean class="org.spr..セキュリティ名前空間が許可されていないことを示すエラーが一番下の行にあることです

私はこれを理解していますが、<security:他のすべてに追加することなく参照を使用できる方法はありますか?

4

2 に答える 2

3

XML 宣言では、「security:」がデフォルトの名前空間であることを宣言しています。

xmlns="http://www.springframework.org/schema/security"

セキュリティ名前空間にないすべての要素の前にプレフィックスを付ける必要があります...この場合、BeanはBean名前空間にあります...したがって、beans:beanと言う必要があります

于 2012-07-06T17:23:28.053 に答える
2

この宣言:

<bean class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" id="passwordEncoder"/>

次のようにする必要があります。

<beans:bean class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" id="passwordEncoder"/>
于 2012-07-06T17:25:45.513 に答える