2016-06-24 17 views
1

のsecurity.xml 私は、次のエラーを取得しています:Spring XML Beans設定ファイルの何が問題ですか?

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:oauth="http://www.springframework.org/schema/security/oauth2" 
    xmlns:sec="http://www.springframework.org/schema/security" 
    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-4.1.xsd 
      http://www.springframework.org/schema/security/oauth2 
      http://www.springframework.org/schema/security/spring-security-oauth2-2.0.xsd 
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-4.0.xsd 
      http://www.springframework.org/schema/mvc 
      http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd"> 

    <!-- Definition of authentication service --> 
    <http pattern="/oauth/token" create-session="stateless" authentication-manager-ref="clientAuthenticationManager" 
      xmlns="http://www.springframework.org/schema/security"> 
      <intercept-url pattern="/oauth/token" access="IS_AUTHENTICATED_FULLY"/> 
      <anonymous enabled="false"/> 
      <http-basic entry-point-ref="clientAuthenticationEntryPoint"/> 
      <!-- Include this only if you need to authenticate clients via request parameters--> 
      <custom-filter ref="clientCredentialsTokenEndpointFilter" after="BASIX_AUTH_FILTER"/> 
      <access-denied-handler ref="oauthAccessDeniedHandler"/>  
    </http> 

    <!-- Protected resources--> 
    <http pattern="/country/**" 
      create-session="never" 
      entry-point-ref="oauthAuthenticationEntryPoint" 
      access-decision-manager-ref="accessDecisionManager" 
      xmlns="http://www.springframework.org/schema/security"> 
     <anonymous enabled="false"/> 
     <intercept-url pattern="/country/**" access="ROLE_USER"/> 
     <custom-filter ref="resourceServerFilter" 
         before="PRE_AUTH_FILTER"/> 
     <access-denied-handler 
        ref="oauthAccessDeniedHandler"/> 
    </http> 

    <bean id="oauthAuthenticationEntryPoint" 
      class="org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint"> 
      <property name="realmName" value="dstest"/> 
    </bean> 

    <bean id="clienthAuthenticationEntryPoint" 
      class="org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint"> 
      <property name="realmName" value="dstest/client"/> 
      <property name="typeName" value="Basic"/> 
    </bean> 

    <bean id="oauthAccessDeniedHandler" 
      class="org.springframework.security.oauth2.provider.error.OAuth2AccessDeniedHandler"> 
    </bean> 

    <bean id="clientCredentialsTokenEndpointFilter" 
      class="org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter"> 
      <property name="authenticationManager" ref="clientAuthenticationManager"/> 
    </bean> 

    <bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased" 
      xmlns="http://www.springframework.org/schema/beans"> 
     <constructor-arg> 
      <list> 
      <bean class="org.springframework.security.oauth2.provider.vote.ScopeVoter"/> 
      <bean class="org.springframework.security.access.vote.RoleVoter"/> 
      <bean class="org.springframework.security.access.vote.AuthenticatedVoter"/> 
      </list> 
     </constructor-arg> 
    </bean> 

    <!-- Authentication in config file --> 
    <authentication-manager id="clientAuthenticationManager" 
          xmlns="http://www.springframework.org/schema/security"> 
      <authentication-provider user-service-ref="clientDetailsUserService"/>      
    </authentication-manager> 

    <authentication-manager alias="authenticationManager" xmlns="http://www.springframework.org/schema/security"> 
     <authentication-provider> 
      <user-service id="userDetailsService"> 
       <user name="admin" password="password" authorities="ROLE_USER"/> 
      </user-service> 
     </authentication-provider> 
    </authentication-manager> 

    <bean id="clientDetailsUserService" 
      class="org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService"> 
      <constructor-arg ref="clientDetails"/> 
    </bean>   

    <!-- Token Store --> 
    <bean id="tokenStore" class="org.springframework.security.oauth2.provider.token.InMemoryTokenStore"/> 

    <bean id="tokenServices" class="org.springframework.security.oauth2.provider.token.DefaultTokenServices"> 
      <property name="tokenStore" ref="tokenStore"/> 
      <property name="supportRefreshToken" value="true"/> 
      <property name="clientDetailsService" ref="clientDetails"/> 
      <!-- VIV --> 
      <property name="accessTokenValiditySeconds" value="10"/> 
    </bean> 

    <bean id="userApprovalHandler" 
      class="org.springframework.security.oauth2.provider.approval.TokenServicesUserApprovalHandler"> 
     <property name="tokenService" ref="tokenServices"/> 
    </bean> 

    <!-- Token Management --> 
    <oauth:authrization-server client-details-service-ref="clientDetails" token-services-ref="tokenServices" 
             user-approval-handler-ref="userApprovalHandler"> 
      <oauth:authrization-code/> 
      <oauth:implicit/> 
      <oauth:refresh-token/> 
      <oauth:client-credentials/> 
      <oauth:password/>         
    </oauth:authrization-server> 

    <!-- Client Definition --> 
    <oauth:client-details-service id="clientDetails"> 

      <oauth:client client-id="my-trusted-client" 
      authorized-grant-types="password,authorization_code,refresh_token,implicit,redirect" 
      authorities="ROLE_CLIENT, ROLE_TRUSTED_CLIENT" 
      redirect-uri="/web" 
      scope="read,write,trust" 
      access-token-validity="60" 
      refresh-token-validity="600"/> 
    </oauth:client-details-service> 

    <sec:global-method-security pre-post-annotations="enabled" proxy-target-class="true"> 
      <sec:expression-handler ref="oauthExpressionHandler"/> 
    </sec:global-method-security> 

    <oauth:expression-handler id="oauthExpressionHandler"/> 
    <oauth:web-expression-handler id="oauthWebExpressionHandler"/> 

    </beans> 

私は、次のエラーを取得しています:

CVC-複雑-type.2.4.c:一致するワイルドカードは厳しいですが要素 'authentication-manager'に対しては、
宣言は見つかりません。

cvc-complex-type.2.4.c:一致するワイルドカードは厳密ですが、要素 'http'に対して
宣言が見つかりません。

cvc-complex-type.2.4.c:一致するワイルドカードは厳密ですが、要素 'oauth:authrization-server'に対しては
宣言が見つかりません。

cvc-complex-type.2.4.c:一致するワイルドカードは厳密ですが、要素 'sec:global-method-security'に対しては
宣言が見つかりません。

私はいくつかのリンクを参照しました。私はこれらのエラーが何であるか把握することはできません。

答えて

0

XSD検証では情報エラーが発生しますが、特に名前空間宣言でタイプミスを監視する必要があります。そうしないと、右下のXSDも読み込めなくなってしまいます。

あなたが有効なドキュメントを取得するために修正するための4つの問題があります。oauth:authorization-server

  1. 変更

    http://www.springframework.org./schema/security 
        http://www.springframework.org./schema/security/spring-security-4.1.xsd 
    

    http://www.springframework.org/schema/security 
        http://www.springframework.org/schema/security/spring-security-4.1.xsd 
    
    から
  2. 変更oauth:authrization-serverを。

  3. oauth:authrization-codeからoauth:authrization-codeに変更してください。

  4. 変更BASIX_AUTH_FILTERBASIC_AUTH_FILTER

+0

に私は – Cherukuri

+0

がより密接にあなたのXMLを見てみると...私のpom.xmlに春-セキュリティ設定-4.1.xの依存関係を追加して、私は4つの修正を特定しましたあなたは作る必要があります。回答が更新されました。 – kjhughes

+0

私は最初の2つのタイプミスを発見したばかりです。 – Cherukuri

関連する問題