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

苏州吴中长桥网站建设自由策划企业网站管理系统破解版

苏州吴中长桥网站建设,自由策划企业网站管理系统破解版,网站后台html模板,怎么向国外打广告目录 一、使用自定义filter实现跨域 1、客户端向服务端发送请求 2、服务端做登录验证了#xff0c;并生成登路用户对应的token#xff0c;保存到redis 3、响应#xff08;报错#xff09;-----跨域问题 4、解决跨域问题--------服务器端添加过滤器#xff0c;设置请求…  目录 一、使用自定义filter实现跨域 1、客户端向服务端发送请求 2、服务端做登录验证了并生成登路用户对应的token保存到redis 3、响应报错-----跨域问题 4、解决跨域问题--------服务器端添加过滤器设置请求头 5、重新登录正确响应 6、客户端登redis录后访问页面需要经过拦截器验证登录状态 7、编写拦截器 二、在任意配置类返回一个 新的 CorsFIlter Bean  三、使用注解 (局部跨域) 四、手动设置响应头(局部跨域) 前提前后端分离 一、使用自定义filter实现跨域 1、客户端向服务端发送请求 使用ajax实现登录 scriptfunction login(){var userCode $(#userCode).val();var userPassword $(#userPassword).val();$.ajax({url:http://localhost:9000/login.do,type:post,data: userCodeuserCodeuserPassworduserPassword,dataType: text,success: function (result){if(result!null result!){alert(登录成功)localStorage.tokenresultwindow.location.hrefview/frame.html;}else {alert(登录失败)}}})}/script 2、服务端做登录验证了并生成登路用户对应的token保存到redis RequestMapping (/login.do)public String login(String userCode, String userPassword, Model model){User user userService.login(userCode,userPassword);if(user!null){//使用UUID生成tokenString token UUID.randomUUID().toString().replace(-,);//把token保存到redis中时效1小时RedisTools.setEx(token,user.getUserName(),1,TimeUnit.HOURS);System.out.println(token);return token;}return ;} 3、响应报错-----跨域问题 4、解决跨域问题--------服务器端添加过滤器设置请求头 Component WebFilter(/**) public class MyCorsFilter implements Filter {Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {//设置字符集编码HttpServletRequest request (HttpServletRequest) req;request.setCharacterEncoding(UTF-8);HttpServletResponse response (HttpServletResponse) res;response.setCharacterEncoding(UTF-8);//*允许任何请求源访问实际生产环境按公司要求response.setHeader(Access-Control-Allow-Origin, *);//设置请求方式response.setHeader(Access-Control-Allow-Methods, POST, GET, OPTIONS, DELETE);//最大时间response.setHeader(Access-Control-Max-Age, 3600);//response.setHeader(Access-Control-Allow-Headers, x-requested-with);//添加自定义的请求头信息*任何自定义请求头信息response.setHeader(Access-Control-Allow-Headers, *);System.out.println(*********************************过滤器被使用**************************);//放行chain.doFilter(req, res);} } 5、重新登录正确响应 6、客户端登redis录后访问页面需要经过拦截器验证登录状态 客户端登录发送请求时将token放入请求头中 headers:{token:localStorage.token}, scriptfunction getUserList(){$.ajax({url: http://localhost:9000/user/list.do,type:get,headers:{token:localStorage.token},dataType:text,success:function (result){alert(result)}})}/script 7、编写拦截器 从请求头中获取token的值判断是否不为空且token这个key存在于rdeis中若存在则放行反之拦截 public class SysIntercerptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {String token request.getHeader(token);if(StringUtil.isNullOrEmpty(token) || !RedisTools.hasKey(token)){System.out.println(登录已过期);PrintWriter out response.getWriter();out.println(alert(登录已过期请重新登录));return false;}return true;} } 前端 后端 二、在任意配置类返回一个 新的 CorsFIlter Bean  Configuration public class CorsConfig implements WebMvcConfigurer {//方式1Overridepublic void addCorsMappings(CorsRegistry registry) {// 设置允许跨域的路由registry.addMapping(/**)//是否发送Cookie是否允许证书cookies.allowCredentials(true)// 设置允许跨域请求的域名------------修改此行//放行哪些原始域//.allowedOrigins(*).allowedOriginPatterns(*)// 设置允许的方法.allowedMethods(new String[]{GET, POST, PUT, DELETE}).allowedHeaders(*).exposedHeaders(*);}//方式2 // Override // public void addCorsMappings(CorsRegistry registry){ // registry.addMapping(/*/**) // .allowedHeaders(*) // .allowedMethods(*) // .maxAge(1800) // .allowedOrigins(*); // }} When allowCredentials is true, allowedOrigins cannot contain the special value * since that cannot be set on the Access-Control-Allow-Origin response header. To allow credentials to a set of origins, list them explicitly or consider using allowedOriginPatterns instead 当allowCredentials为true时allowedOrigins不能包含特殊值“*”因为不能在“Access Control Allow Origin”响应标头上设置该值。要允许一组来源的凭据请显式列出它们或考虑改“allowedOriginPatterns” /*将红框中的.allowedOrigins(*)替换为.allowedOriginPatterns(*)即可*/ 三、使用注解 (局部跨域) CrossOrigin(origins *) 四、手动设置响应头(局部跨域) 使用 HttpServletResponse 对象添加响应头(Access-Control-Allow-Origin)来授权原始域这里 Origin的值也可以设置为 “*”,表示全部放行。 RequestMapping(/index) public String index(HttpServletResponse response) {response.addHeader(Access-Allow-Control-Origin,*);return index; }
http://www.hkea.cn/news/14358741/

相关文章:

  • 网站营销方案设计公司网站织梦
  • cocos creator做网站软考高级职称哪个好考
  • win7主机做网站宁波网上办事大厅
  • 网站建设可以经营吗广州网站制作设计公司
  • 诸城易讯网站建设服务中心seo技术教程博客
  • 怎么做网站缩略图麻栗坡网站建设
  • 成都都网站建设网站建设平台汉龙
  • 网站文件夹没有权限做网页兼职的网站
  • 建设网站前的市场分析包括国内如何做国外网站的兼职项目
  • 来宾网站制作公司天津百度网络推广
  • 网站云解析域名解析犀牛云做网站骗人
  • wordpress分类目录导航上海知名的seo推广咨询
  • 能够做渗透的网站网站建设和管理专业
  • 百度站长平台官网死链提交c2c模式的概念
  • 专门做图片的网站cms百度搜索提交入口
  • 网站模板库免费建网站有哪些文件夹
  • 建设外贸网站的细节保定市最新消息今天
  • seo是做网站广州网站建设知名乐云seo
  • 怎么申请网站详细步骤网站建设遇到的问题及对策
  • 网站游戏制作开发东莞做网站seo优化
  • 研发网站要多久数学网站怎么做
  • 浙江省建设监理管理协会网站四川红叶建设有限公司网站
  • 移动建站平台有哪些免费设计logo的软件有哪些
  • 绘本馆网站建设网页页面设计工具
  • 网站建设设计策划wordpress多用户商城主题
  • 网站后台权限管理怎么做的网站注入木马
  • 网站开发培训广西亚洲做性视频网站
  • 怀化网站建设怎么收费wordpress 头条主题
  • 游戏网站建设免费东莞人力资源招聘官网
  • 静态网站建设规划电子商务网站平台有哪些