1

我有一個彈簧安全問題。我已經完成了對用戶的身份驗證過程,但是當我通過angularjs調用restful服務時,出現了錯誤401。Spiring安全401 - 調用Angularjs的安靜服務

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:context="http://www.springframework.org/schema/context" 
    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.1.xsd  
         http://www.springframework.org/schema/security  
         http://www.springframework.org/schema/security/spring-security-3.1.xsd   
         http://www.springframework.org/schema/context   
         http://www.springframework.org/schema/context/spring-context-3.1.xsd"> 

    <context:component-scan base-package="it.xxx.yyy.service.security" scoped-proxy="interfaces" /> 

    <http realm="Protected API" 
      use-expressions="true" 
      auto-config="false" 
      create-session="stateless" 
      entry-point-ref="unauthorizedEntryPoint" 
      authentication-manager-ref="authenticationManager"> 
     <custom-filter ref="authenticationTokenProcessingFilter" position="FORM_LOGIN_FILTER" />  
     <intercept-url pattern="/" access="permitAll"/> 
     <intercept-url pattern="/static/**" access="permitAll"/> 
     <intercept-url pattern="/rest/" access="permitAll"/> 
     <intercept-url pattern="/rest/secure/**" access="isAuthenticated()" /> 
     <intercept-url pattern="/secure/**" access="isAuthenticated()"/> 
     <remember-me key="YYY2RMKey" user-service-ref="CustomUserDetailsService"/> 
    </http> 
    <authentication-manager id="authenticationManager"> 
     <authentication-provider user-service-ref="CustomUserDetailsService"> 
      <password-encoder hash="sha"/> 
     </authentication-provider> 
    </authentication-manager> 
</beans:beans> 

任何想法?

回答

1

也許一個解決辦法是闡明該方法以這種方式

<intercept-url method="GET" pattern="/rest/secure/**" access="isAuthenticated()" /> 
<intercept-url method="PUT" pattern="/rest/secure/**" access="isAuthenticated()" /> 
<intercept-url method="POST" pattern="/rest/secure/**" access="isAuthenticated()" /> 
<intercept-url method="DELETE" pattern="/rest/secure/**" access="isAuthenticated()" />