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

网站诊断工具温岭高端网站设计哪家好

网站诊断工具,温岭高端网站设计哪家好,网站ui标准,设计工作室的名字spring security他是自带一个页面的,如果我们没有页面的话,他会进行一个账号密码的校验,成功就会走成功的处理器,失败就会走失败的处理器 成功处理器 package com.lzy.security;import cn.hutool.json.JSONUtil; import com.lzy.common.lang.Result; import org.springframew…spring security他是自带一个页面的,如果我们没有页面的话,他会进行一个账号密码的校验,成功就会走成功的处理器,失败就会走失败的处理器 成功处理器 package com.lzy.security;import cn.hutool.json.JSONUtil; import com.lzy.common.lang.Result; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.stereotype.Component;import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; Componentpublic class LoginSuccessHandler implements AuthenticationSuccessHandler {Overridepublic void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {// 将响应的内容类型设置为JSONresponse.setContentType(application/json;charsetutf-8);// 获取响应的输出流ServletOutputStream out response.getOutputStream();//生成JWT,并且放置到请求头// 创建一个包含异常消息的Result对象Result result Result.success(成功);// 将Result对象转换为JSON字符串并写入输出流out.write(JSONUtil.toJsonStr(result).getBytes(UTF-8));// 刷新输出流out.flush();// 关闭输出流out.close();}} 失败处理器 package com.lzy.security;import cn.hutool.json.JSONUtil; import com.lzy.common.lang.Result; import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.AuthenticationFailureHandler; import org.springframework.stereotype.Component;import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; Component public class LoginFailureHandler implements AuthenticationFailureHandler {// 当身份验证失败时调用此方法Overridepublic void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) throws IOException, ServletException {// 将响应的内容类型设置为JSONresponse.setContentType(application/json;charsetutf-8);// 获取响应的输出流ServletOutputStream out response.getOutputStream();// 创建一个包含异常消息的Result对象Result result Result.fail(exception.getMessage());// 将Result对象转换为JSON字符串并写入输出流out.write(JSONUtil.toJsonStr(result).getBytes(UTF-8));// 刷新输出流out.flush();// 关闭输出流out.close();} }怎么调用他们 package com.lzy.config;import com.lzy.security.CaptchaFilter; import com.lzy.security.LoginFailureHandler; import com.lzy.security.LoginSuccessHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;Configuration EnableWebSecurity EnableGlobalMethodSecurity(prePostEnabled true) // 开启方法级别的权限注解 public class SecurityConfig extends WebSecurityConfigurerAdapter {AutowiredLoginFailureHandler loginFailureHandler;AutowiredLoginSuccessHandler loginSuccessHandler;AutowiredCaptchaFilter captchaFilter;private static final String[] URL_WHITELIST {/login,/logout,/captcha,/favicon.ico, // 防止 favicon 请求被拦截};protected void configure(HttpSecurity http) throws Exception {//跨域配置http.cors().and().csrf().disable()//登录配置.formLogin().successHandler(loginSuccessHandler).failureHandler(loginFailureHandler)//禁用session.and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)//配置拦截规则.and().authorizeRequests()//白名单.antMatchers(URL_WHITELIST).permitAll()//其他请求都需要认证.anyRequest().authenticated()//异常处理器//配置自定义的过滤器.and().addFilterBefore(captchaFilter, UsernamePasswordAuthenticationFilter.class);}} 因为spring security是不带验证码过滤器的,所以得我们自己写,并且要写在账号密码过滤器前,失败就走失败处理器 验证码过滤器 package com.lzy.security;import com.lzy.common.exception.CaptureException; import com.lzy.util.Constants; import com.lzy.util.RedisUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.AuthenticationException; import org.springframework.stereotype.Component; import org.springframework.web.filter.OncePerRequestFilter;import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;Component public class CaptchaFilter extends OncePerRequestFilter {AutowiredRedisUtil redisUtil;AutowiredLoginFailureHandler loginFailureHandler;Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {//判断是不是登录请求String url request.getRequestURI();if (url.equals(/login) request.getMethod().equals(POST)) {//如果是登录请求判断验证码是否为空try {//验证验证码voildCaptcha(request, response, filterChain);} catch (CaptureException e) {//交给登录失败处理器loginFailureHandler.onAuthenticationFailure(request, response, e);}}filterChain.doFilter(request, response);}private void voildCaptcha(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) {String captcha request.getParameter(code);String key request.getParameter(token);//判断验证码是否为空if (captcha.isBlank() || key.isBlank()) {throw new CaptureException(验证码不能为空);}//判断验证码是否正确if (!redisUtil.hget(Constants.CAPTURE, key).equals(captcha)) {throw new CaptureException(验证码错误);}//删除验证码redisUtil.hdel(Constants.CAPTURE, key);}} 也是在刚才的securitycofig下面调用,代码就是刚才那个
http://www.zqtcl.cn/news/811725/

相关文章:

  • 全美网站开发PHP 网站开发 重点知识
  • 电商网站建设重要性一个公司可以做几个网站吗
  • 婚恋网站系统淘宝联盟推广做网站违法
  • 双鸭山网站建设公司百度电脑版官网下载
  • 网站开发项目名html欧美网站模板
  • 成都哪里有做网站的雪樱wordpress主题
  • 深圳建站模板公司微商管理系统
  • 贸易建设网站网页美工设计图片
  • 网站建设尺寸规范国外h5网站模板下载
  • 怎么区分网站的好坏软件定制化开发的知识产权归属
  • 网站建设客户需求分析调研表网站建设企业网站
  • 建设网站要注意什么问题临沂网站建设团队
  • 怎么做网站和注册域名互联网行业的工作岗位
  • 北京做网站优化多少钱网站反链和外链的区别
  • 厦门网站推广找谁wordpress的模板目录在哪里
  • 做网站的维护成本wordpress 密码更改
  • 企业网站建设流程概述长春网站推广排名
  • 网站导航设计牙科 网站建设方案
  • 手机微信网站开发教程企业网站的制作成本
  • 做电商网站的流程网站架构搭建
  • 可以下载新闻视频的网站重庆seo
  • 网站内容页设计网站建设实验分析
  • 网站建设的软硬件环境凡科精选app
  • 网站开发过滤器作用信息港怎么发布信息
  • 网站服务器组建百度seo引流怎么做
  • 南京网站定制公司如何用源码做网站
  • 网站建站视频wordpress网站好用吗
  • 网页设计网站搭建建筑材料价格信息网
  • 淮安市交通建设局网站新郑做网站
  • 新开传奇网站手机版深圳房管局官网