我尝试了不同的东西,但到目前为止我没有任何作用,仍然无法以json格式从我的自定义身份验证提供程序发送异常响应。我正在使用xml配置
我尝试过的事情
1.customAuthenticationFailureHandler
2 CustomEntryPoint
3.CustomAccessDenied
我在前端有角度js,如果身份验证失败,我想要一个json消息但是现在我在BadCredentialsException,UsernotFoundException和在rest客户端获取HTML数据。
任何帮助......
答案 0 :(得分:0)
你必须编写实现AuthenticationEntryPoint接口的customAuthenticationEntryPoint类
并在securtiy-config.xml文件中
你必须添加 entry-point-ref =" restAuthenticationEntryPoint"
<http auto-config='true' use-expressions="true"
entry-point-ref="restAuthenticationEntryPoint">
<http-basic entry-point-ref="restAuthenticationEntryPoint"/>
<intercept-url pattern="/user" access="hasRole('ROLE_USER')" />
<access-denied-handler ref="securityAccessDeniedHandler" />
<form-login authentication-success-handler-ref="mySuccessHandler"
authentication-failure-handler-ref="authenticationFailureHandler" /></http>
然后要注意的一点是,你必须在 http 和 http-basic 标签中提供 entry-point-ref