我的想法是eclipse-luna。 系统是Windows 7旗舰版。 我使用带有副本* .jar的spring security到我的项目中,并且#34;添加到构建路径"。 请参阅有关警告的图片
<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-complex-type.3.2.2:属性&#39; access-denied-page&#39;不允许出现在元素中 &#39;安全:HTTP&#39;”
上周对此没有任何警告,我对* .jar或我的项目没有任何改变。但现在警告?我无法理解。它可以很好地处理警告。 谢谢你的帮助。
答案 0 :(得分:6)
您可以尝试从Spring Security 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,希望它适合您。
答案 1 :(得分:2)
因为我使用spring security 3,bug access-denied-page是spring security 2。所以它会在我的想法中发出警告。我们可以使用access-denied-handler替换access-denied-page
<security:access-denied-handler error-page="/user/login/init"/>