2015-04-22 59 views
1

我的ide是eclipse-luna。 系統是windows 7旗艦版。 我使用彈簧安全與副本* .jar到我的項目和「添加到構建路徑」。 請參閱有關警告有關標籤「access-denied-page」的彈簧安全警告cvc-complex-type.3.2.2:不允許出現屬性'access-denied-page'

<security:http auto-config="true" use-expressions="true" access-denied-page="/user/login/init"> 

    <security:intercept-url pattern="/manage/**" access="hasRole('ROLE_ADMIN')" /> 
    <security:intercept-url pattern="/user/index**" access="hasRole('ROLE_USER')" /> 

    <security:form-login login-page="/user/login/init" 
     authentication-failure-url="/user/login/init" 
     authentication-success-handler-ref="successHandler" 
     authentication-failure-handler-ref="failureHandler" 
     always-use-default-target='true' /> 

    <security:logout delete-cookies="JSESSIONID" invalidate-session="true" success-handler-ref="urlLogoutSuccessHandler" /> 

    <security:remember-me key="health" user-service-ref='userDetailsServiceImpl'/> 
</security:http> 

警告圖像「CVC-複雜type.3.2.2:屬性‘禁止訪問的頁面’是不允許出現在元素 的安全:HTTP「。 「

上週對此沒有警告,我沒有改變任何關於* .jar或我的項目。但現在警告?我無法理解。它可以很好地解決警告。 感謝您的幫助。

回答

2

因爲我使用spring安全性3,bug access-denied-page是spring security 2。所以它會在我的ide中發出警告。我們可以使用禁止訪問的處理器更換禁止訪問的頁面

<security:access-denied-handler error-page="/user/login/init"/> 
4

您可以嘗試從春季安全3.X遷移到Spring Security的4.x版

XML屬性http @ access-denied-page被刪除,以支持access-denied-handler @ error-page。這意味着如果你有這樣的事情:

<http ... access-denied-page="/denied"> 
... 
</http> 

它需要被替換:

<http ...> 
    <access-denied-handler error-page="/denied"/> 
</http> 

更多信息,請點擊here,希望它爲你工作。

相關問題