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