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

重庆手机模板建站山东监理工程师考试最新消息

重庆手机模板建站,山东监理工程师考试最新消息,搭建网站怎么做,聚美优品网站设计来源场景#xff1a; RequestMapping(“/captcha”)接口设置了SESSION_KEY#xff0c;也能获取到#xff0c;但是到了PostMapping(“/login”)接口就是空的#xff0c;由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins…来源场景 RequestMapping(“/captcha”)接口设置了SESSION_KEY也能获取到但是到了PostMapping(“/login”)接口就是空的由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins *,maxAge 3600)// 前端请求发生跨域错误加入这段处理 RequestMapping(/sys) public class LoginController {private static final String SESSION_KEY captcha;Autowiredprivate IAdminService adminService;/*** 验证码生成* param request 请求报文* param response 响应报文* */RequestMapping(/captcha)public void generate(HttpServletRequest request, HttpServletResponse response) throws Exception {// 英文与数字验证码SpecCaptcha captcha new SpecCaptcha();captcha.setLen(4);// 验证字符数// 结果String result captcha.text();// 将结果存储到session中由于有些验证码没存储结果则需要自己存储记得要转小写可参考自带校验方法.verrequest.getSession().setAttribute(SESSION_KEY, result.toLowerCase());System.out.println(Session ID in /captcha: request.getSession().getId());System.out.println(request.getSession().getAttribute(SESSION_KEY));// 响应到前端captcha.out(response.getOutputStream());}/*** 登录* return*/PostMapping(/login)ResponseBodypublic R login(HttpServletRequest request,RequestBody Admin admin){ // 打印调试信息System.out.println(Session ID in /login: request.getSession().getId());System.out.println(SESSION_KEY retrieved in /login: request.getSession().getAttribute(SESSION_KEY));if(StringUtil.isEmpty(admin.getUserName())){return R.error(用户名不能为空);}if(StringUtil.isEmpty(admin.getPassword())){return R.error(密码不能为空);}String code (String) request.getSession().getAttribute(SESSION_KEY);System.out.println(code);System.out.println(admin.getCaptcha());if (!CaptchaUtil.ver(admin.getCaptcha(), request)) {return R.error(验证码错误);}//开始数据库校验Admin resultAdmin adminService.getOne(new QueryWrapperAdmin().eq(userName,admin.getUserName()));if (resultAdminnull){return R.error(用户名不存在);}if (!resultAdmin.getPassword().trim().equals(admin.getPassword())){return R.error(用户名或密码错误);} // String token JwtUtils.createJWT(-1, admin, SystemConstant.JWT_TTL); // MapString,Object resultMapnew HashMap(); // resultMap.put(token,token);return R.ok();}} 后端跨域配置 /*** web项目配置类*/ Configuration public class WebAppConfigurer implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**).allowedOrigins(*).allowCredentials(true).allowedMethods(GET, HEAD, POST, PUT, DELETE,OPTIONS).maxAge(3600);}}前端使用axios发请求需要添加 withCredentials: ‘include’, // 确保请求携带Cookie 下面是封装过的axios.js文件 // 引入axios import axios from axios; let baseUrlhttp://localhost:8082/ let imageUrl http://localhost:1111 // 创建axios实例 const httpService axios.create({// url前缀-http:xxx.xxx// baseURL: process.env.BASE_API, // 需自定义baseURL:baseUrl,withCredentials: include, // 确保请求携带Cookie// 请求超时时间//timeout: 3000 // 需自定义timeout: 10000 });//添加请求和响应拦截器 // 添加请求拦截器 httpService.interceptors.request.use(function (config) {// 在发送请求之前做些什么// config.headers.tokenwindow.sessionStorage.getItem(token) || ;return config; }, function (error) {// 对请求错误做些什么return Promise.reject(error); });// 添加响应拦截器 httpService.interceptors.response.use(function (response) {// 对响应数据做点什么return response; }, function (error) {// 对响应错误做点什么return Promise.reject(error); });/*网络请求部分*//** get请求* url:请求地址* params:参数* */ export function get(url, params {}) {return new Promise((resolve, reject) {httpService({url: url,method: get,params: params}).then(response {resolve(response);}).catch(error {reject(error);});}); }/** post请求* url:请求地址* params:参数* */ export function post(url, params {}) {return new Promise((resolve, reject) {httpService({url: url,method: post,data: params}).then(response {console.log(response)resolve(response);}).catch(error {console.log(error)reject(error);});}); }/** 文件上传* url:请求地址* params:参数* */ export function fileUpload(url, params {}) {return new Promise((resolve, reject) {httpService({url: url,method: post,data: params,headers: { Content-Type: multipart/form-data }}).then(response {resolve(response);}).catch(error {reject(error);});}); } export function getServerUrl(){return baseUrl; } export function getImageUrl(){return imageUrl; } export default {get,post,fileUpload }
http://www.w-s-a.com/news/962448/

相关文章:

  • 网站改版 重新收录湖南建筑信息一体化管理平台
  • 可以做直播卖产品的网站陕西省建设银行网站
  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书
  • 做网站需要vps吗网站建设后怎样发信息
  • 网站建立风格二手交易网站开发可参考文献
  • 成都微信网站开发优化大师优化项目有哪些
  • 哪个网站做自考题目免费郑州网站建设公司qq
  • 地方性的网站有前途顺的网络做网站好不好
  • 学校申请建设网站的原因不要网站域名
  • 推荐响应式网站建设子域名查询工具
  • 如何建设学校的微网站广告推广是什么