Spring RESTApi, Spring Security 自定义403返回信息
来源:互联网 发布:json编辑 编辑:程序博客网 时间:2024/06/07 03:26
在普通的Java web 项目中,如果使用了spring security 的话,直接在application配置文件中,指定一个403error-page。
如果项目只提供restapi,也就不存在error-page这个概念甚至page这个说法了。如果请求一个没有权限的资源时,会返回一个默认的html页面。显然这不符合restapi的需要。
这种情况下,我们需要自定义一个AccessDeniedHandler:
public class RestAuthenticationAccessDeniedHandler implements AccessDeniedHandler { @Override public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException accessDeniedException) throws IOException, ServletException { response.setStatus(HttpServletResponse.SC_FORBIDDEN); PrintWriter writer = response.getWriter(); writer.println(accessDeniedException.getMessage()); }}
然后在WebSecurityConfigurerAdapter的实现类中注册这个处理器:
@Beanpublic AccessDeniedHandler getAccessDeniedHandler() { return new RestAuthenticationAccessDeniedHandler();}
最后,在实现类重写的config()方法中,添加对处理器的使用:
@Overrideprotected void configure(HttpSecurity http) throws Exception { http.exceptionHandling().accessDeniedHandler(getAccessDeniedHandler());}
阅读全文
0 0
- Spring RESTApi, Spring Security 自定义403返回信息
- spring security +spring boot 自定义 403 页面
- Spring MVC 全局异常处理-RESTAPI接口返回统一JSON格式-自定义异常处理--404异常捕捉
- spring security 自定义验证
- 自定义Spring Security过滤器
- spring security自定义过滤器
- spring security - 自定义登陆
- spring security 自定义 openid
- Spring Security自定义Login
- Spring security异常信息国际化
- Spring security异常信息国际化
- spring security 3 自定义(一)
- spring security 3 自定义(二)
- spring security 3 自定义(三)
- Spring Security 3.1自定义登录
- Spring Security-用户密码自定义加密
- spring security 自定义登陆 - AJAX
- spring security添加自定义filter
- View的4种构造函数
- Elasticsearch聚合初探——metric篇
- #leetcode#547. Friend Circles
- Android问题集5
- Pycharm中使用django-redis 的问题
- Spring RESTApi, Spring Security 自定义403返回信息
- freemodbus-v1.5.0 源码分析
- AsyncHttpClient
- 学习笔记——JAVA设计模式<9>装饰模式
- Material Design之FloatingActionButton的使用
- POST请求中,URL传递数组
- 使用递归实现字符串反转
- Android stdio 找不到add as library....选项的解决
- Java网络编程