博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring security自定义AuthenticationEntryPoint
阅读量:5939 次
发布时间:2019-06-19

本文共 1424 字,大约阅读时间需要 4 分钟。

本文介绍下如何自定义AuthenticationEntryPoint

自定义AuthenticationEntryPoint

public class UnauthorizedEntryPoint implements AuthenticationEntryPoint {    @Override    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {        if(isAjaxRequest(request)){            response.sendError(HttpServletResponse.SC_UNAUTHORIZED,authException.getMessage());        }else{            response.sendRedirect("/login");        }    }    public static boolean isAjaxRequest(HttpServletRequest request) {        String ajaxFlag = request.getHeader("X-Requested-With");        return ajaxFlag != null && "XMLHttpRequest".equals(ajaxFlag);    }}

默认情况下登陆失败会跳转页面,这里自定义,同时判断是否ajax请求,是ajax请求则返回json,否则跳转失败页面

设置UnauthorizedEntryPoint

@Override    protected void configure(HttpSecurity http) throws Exception {        http                .exceptionHandling().authenticationEntryPoint(new UnauthorizedEntryPoint())                .and()                .csrf().disable()                .authorizeRequests()                .antMatchers("/css/**", "/js/**","/fonts/**").permitAll()                .anyRequest().authenticated()                .and()                .formLogin()                .loginPage("/login")                .permitAll()                .and()                .logout()                .logoutUrl("/logout")                .permitAll();    }

转载地址:http://edttx.baihongyu.com/

你可能感兴趣的文章
std::lexicographical_compare
查看>>
Java设计模式:代理模式(一)
查看>>
直线栅格化(基于 Bresenham 算法)
查看>>
python IDLE 如何实现清屏
查看>>
三维系统应用实例——截图
查看>>
MVC4 + EF为Model添加单独的验证属性
查看>>
C# Dictionary 的几种遍历方法
查看>>
jsvascript === 和==的区别
查看>>
解决Ubuntu(乌班图)vi/vim模式下粘贴的代码内容会多出的空格的问题
查看>>
用递归的方式实现阶乘
查看>>
对局匹配
查看>>
浅析python 中__name__ = '__main__' 的作用
查看>>
(转)intellij idea svn 修改文件后,父文件夹也标注修改
查看>>
70. Climbing Stairs
查看>>
演示如何通过 web api 上传文件MVC40
查看>>
基于bootstrap的datatable控件
查看>>
shell脚本入门
查看>>
Tomcat系统架构分析
查看>>
nyoj 1238 最少换乘 (河南省第八届acm程序设计大赛)
查看>>
leetcode Valid Palindrome C++&python 题解
查看>>