如何从自定义身份验证提供程序类更改Json格式的BadCredentialsException,UserNameNotFound异常消息

时间:2016-06-29 20:53:56

标签: java angularjs json spring spring-security

我尝试了不同的东西,但到目前为止我没有任何作用,仍然无法以json格式从我的自定义身份验证提供程序发送异常响应。我正在使用xml配置

我尝试过的事情

1.customAuthenticationFailureHandler

2 CustomEntryPoint

3.CustomAccessDenied

我在前端有角度js,如果身份验证失败,我想要一个json消息但是现在我在BadCredentialsException,UsernotFoundException和在rest客户端获取HTML数据。

任何帮助......

1 个答案:

答案 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