1

私は xml についてほとんど、またはまったく知らないので、spring-security.xml ファイルを作成する必要があります。私が推測する問題は、xml が xsd に従っていないことに関係しています。ここにxmlがあります。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:s="http://www.springframework.org/schema/security"
    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">

    <s:http auto-config="true">
                <s:intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY" />
                <s:intercept-url pattern="/index.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />
        <s:intercept-url pattern="/**" access="ROLE_USER" />
                <s:intercept-url pattern="/" access="ROLE_USER" />       
        <s:form-login login-page="/login" default-target-url="/getemp"/>
        <s:logout logout-success-url="/logout" />
    </s:http>

    <s:authentication-manager>
        <s:authentication-provider>

                        <s:ldap-authentication-provider user-dn-pattern="uid={0},ou=people"/>
        </s:authentication-provider>
    </s:authentication-manager>

        <s:ldap-server id="ldapServer" url="ldap://test.com:389" />

</beans>

Web アプリケーションを実行しようとすると、エラーが発生します。

原因: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: 要素「s:ldap-authentication-provider」で始まる無効なコンテンツが見つかりました。「{"http://www.springframework.org/schema/security":any-user-service, "http://www.springframework.org/schema/security":password-encoder}」のいずれかが期待されます。

ここにxsdがあります

春のセキュリティ xsd

4

1 に答える 1

3

xsdは、<s:authentication-manager>子としてauthentication-providerORを受け入れると述べていますldap-authentication-provider。したがって、<s:authentication-provider>あなたを包んでいる を削除してください<s:ldap-authentication-provider>。これにより、この問題を乗り越えることができます。最終的なコードは次のようになります。

<s:authentication-manager>
    <s:ldap-authentication-provider user-dn-pattern="uid={0},ou=people"/>
</s:authentication-manager>
于 2012-12-07T22:15:54.023 に答える