Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用BasicAuthenticationFilter进行身份验证失败后不重定向用户_Java_Spring_Spring Security - Fatal编程技术网

Java 使用BasicAuthenticationFilter进行身份验证失败后不重定向用户

Java 使用BasicAuthenticationFilter进行身份验证失败后不重定向用户,java,spring,spring-security,Java,Spring,Spring Security,我有两种方式可以让用户在我的系统上进行身份验证。具有登录密码并使用基本身份验证进行API调用的Standart。当standart auth失败时,我将重定向发送到登录页面,但当BasicAuth失败时,我希望返回json响应 我还定义了自定义AccessDecisionManager,在WebExpressionVoter返回access_denied之后,将抛出AccessDeniedException,在rest客户端中,我看到主页的html代码。 我应该如何配置spring安全性以返回j

我有两种方式可以让用户在我的系统上进行身份验证。具有登录密码并使用基本身份验证进行API调用的Standart。当standart auth失败时,我将重定向发送到登录页面,但当BasicAuth失败时,我希望返回json响应

我还定义了自定义AccessDecisionManager,在WebExpressionVoter返回access_denied之后,将抛出AccessDeniedException,在rest客户端中,我看到主页的html代码。 我应该如何配置spring安全性以返回json响应


谢谢

您应该实现定制的
org.springframework.security.web.access.AccessDeniedHandler
,它根据需要从其
句柄
方法发送JSON响应。只要
AccessDecisionManager
拒绝访问,就会自动调用
句柄

然后,将类的实例作为bean添加到Spring安全配置中,并从API的
定义中引用它,如下所示:

 <security:http pattern="/API/**">
     <security:http-basic />
     <security:access-denied-handler ref="myDeniedHandler"/>
 </security:http>