当前位置: 首页 > news >正文

推广网上国网的好处安徽360优化

推广网上国网的好处,安徽360优化,乐山建设企业网站,如何利用分类信息网站做推广在SpringSecurity中,如果我们在认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕 获到。在ExceptionTranslationFilter中会去判断是认证失败还是授权失败出现的异常。 一、自定义验证异常类 创建exception包,在exception包下创建自定义…

在SpringSecurity中,如果我们在认证或者授权的过程中出现了异常会被ExceptionTranslationFilter捕 获到。在ExceptionTranslationFilter中会去判断是认证失败还是授权失败出现的异常。

一、自定义验证异常类

创建exception包,在exception包下创建自定义CustomerAuthenticationException类,继承 AuthenticationException类

/*** 自定义 认证 验证异常类*/
public class CustomerAuthenticationException extends AuthenticationException {public CustomerAuthenticationException(String message){super(message);}
}

二、登录用户访问无权限资源处理器

创建CustomerAccessDeniedHandler认证用户访问无权限资源时处理器类。

抓捕到AccessDeniedException异常后,进入此处理器

/*** 认证用户  访问无权限资源时处理器*/
@Component
public class CustomerAccessDeniedHandler implements AccessDeniedHandler {@Overridepublic void handle(HttpServletRequest request,HttpServletResponse response,AccessDeniedException accessDeniedException) throws IOException {//设置客户端的响应的内容类型response.setContentType("application/json;charset=UTF-8");//获取输出流ServletOutputStream outputStream = response.getOutputStream();//消除循环引用String result = JSON.toJSONString(R.error().code(700).message("无权限访问, 请联系管理员!"),SerializerFeature.DisableCircularReferenceDetect);outputStream.write(result.getBytes(StandardCharsets.UTF_8));outputStream.flush();outputStream.close();}
}

三、匿名用户访问资源处理器

/*** 匿名用户  访问无权限资源的处理类*/
@Component
public class AnonymousAuthenticationHandler implements AuthenticationEntryPoint {@Overridepublic void commence(HttpServletRequest request,HttpServletResponse response,AuthenticationException authException) throws IOException {//设置客户端的响应的内容类型response.setContentType("application/json;charset=UTF-8");String result = null;//获取输出流ServletOutputStream outputStream = response.getOutputStream();// System.out.println("异常消息:"+authException.getMessage()+",对象:"+authException);if (authException instanceof BadCredentialsException) {// 用户名未找到,可以在这里添加自定义处理逻辑result = JSON.toJSONString(R.error().code(HttpServletResponse.SC_UNAUTHORIZED).message(authException.getMessage()),SerializerFeature.DisableCircularReferenceDetect);} else if (authException instanceof InternalAuthenticationServiceException) {result = JSON.toJSONString(R.error().code(HttpServletResponse.SC_UNAUTHORIZED).message("用户名为空!"),SerializerFeature.DisableCircularReferenceDetect);} else {// 其他身份验证异常处理result = JSON.toJSONString(R.error().code(600).message("匿名用户无权限访问!"),SerializerFeature.DisableCircularReferenceDetect);  //消除循环引用}outputStream.write(result.getBytes(StandardCharsets.UTF_8));outputStream.flush();outputStream.close();}
}

四、改造认证校验过滤器 && 认证失败处理器

/*** 认证校验失败处理类*/
@Component
public class LoginFailureHandler implements AuthenticationFailureHandler {@Overridepublic void onAuthenticationFailure(HttpServletRequest request,HttpServletResponse response,AuthenticationException exception) throws IOException, ServletException {//设置客户端响应编码格式response.setContentType("application/json;charset=UTF-8");//获取输出流ServletOutputStream outputStream= response.getOutputStream();String message = null;//提示信息int code = 500;//错误编码//判断异常类型if(exception instanceof AccountExpiredException){message = "账户过期,登录失败!";}else if(exception instanceof BadCredentialsException){message = "用户名或密码错误,登录失败!";}else if(exception instanceof CredentialsExpiredException){message = "密码过期,登录失败!";}else if(exception instanceof DisabledException){message = "账户被禁用,登录失败!";}else if(exception instanceof LockedException){message = "账户被锁,登录失败!";}else if(exception instanceof InternalAuthenticationServiceException){message = "账户不存在,登录失败!";}else if(exception instanceof CustomerAuthenticationException){message = exception.getMessage();code = 600;}else{message = "登录失败!";}//将错误信息转换成JSONString result = JSON.toJSONString(R.error().code(code).message(message));outputStream.write(result.getBytes(StandardCharsets.UTF_8));outputStream.flush();outputStream.close();}
}

五、配置自定义处理器

http://www.yayakq.cn/news/231006/

相关文章:

  • 自建网站视频教程建网站需多少钱
  • p2p网站建设报价2p排名广告联盟点击广告能赚多少
  • 广西网站制作wordpress 用户api
  • 网站宣传策划方案网页制作模板及素材
  • 做网站付款方式国外云服务器哪个好
  • 网站建设 7 24上海企业网站建设公司
  • 网站建设维护费用固镇网站建设哪家好?
  • 招聘网站哪个好seo优化工程师
  • 聊城wap网站建设建网站需要什么技术
  • 网站如何做线上推广怎么搭建wap网站
  • 做脚本的网站芜湖注册公司流程和费用
  • 极速在线网站怎么做盗号网站
  • 建设工程消防监督管理规定网站网站服务器一个多少钱
  • 网站建设的知名品牌wordpress 超卡
  • 怎么创建网站文件夹安卓手机搭建网页
  • 电商设计网站哪个好用wordpress编辑文章如何全屏
  • wordpress模板建站做网站基本
  • 宜宾建设招标网站在线技能培训平台
  • 如何将网站和域名绑定域名十大免费网站免费下载软件
  • 开发一个交易网站多少钱人们常用的网页设计工具是
  • 做网站要写代码吗百度推广入口页面
  • 做资源下载网站用什么工具餐饮公司注册流程及费用
  • 备案 网站起名广告设计速成班多少钱
  • 东莞做网站哪里好建设信用卡在线海淘网站返现
  • 江阴公司网站建设wordpress侧边栏添加分类
  • 什么 门户网站哪个公司做网站
  • dw不用代码做网站qq是哪个公司旗下的游戏
  • 企业网站关键词应如何优化湛江网站设计公司
  • 西安网站建设怎么接单做招聘网站需要什么
  • 网站制作与网站建设西安网站设计开发