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

想自己建一个公司网站怎么做爱站网权重查询

想自己建一个公司网站怎么做,爱站网权重查询,怎样注册网站做销售,集运网站建设来源场景: RequestMapping(“/captcha”)接口设置了SESSION_KEY,也能获取到,但是到了PostMapping(“/login”)接口就是空的,由于跨域导致的两个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中(由于有些验证码没存储结果,则需要自己存储,记得要转小写,可参考自带校验方法.ver)request.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 QueryWrapper<Admin>().eq("userName",admin.getUserName()));if (resultAdmin==null){return R.error("用户名不存在!");}if (!resultAdmin.getPassword().trim().equals(admin.getPassword())){return R.error("用户名或密码错误!");}
//        String token = JwtUtils.createJWT("-1", "admin", SystemConstant.JWT_TTL);
//        Map<String,Object> resultMap=new 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 baseUrl="http://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.token=window.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.yidumall.com/news/5998.html

相关文章:

  • 非寻服饰网站建设规划书口碑营销ppt
  • 松江区做网站营销推广网站推广方案
  • 网站建设这个发布新闻
  • 做企业网站不好混搜索关键词是什么意思
  • 广东省中山市网站百度有哪些产品
  • 惠州惠阳网站建设那个推广平台好用
  • 手表价格网站国际网络销售平台有哪些
  • h5做商城网站社群营销的方法和技巧
  • 网络营销推广的模式包括seo高级教程
  • 专业网站开发多少钱百度seo报价
  • 闵行网站制作seo基础优化包括哪些内容
  • 制作游戏需要学什么国内seo排名
  • 网站文字公告代码聊城网站seo
  • 网站制作 视频百度网盘首页
  • 北京宣传片seo收费低
  • 微信上做网站编辑外链工具xg
  • 受欢迎的邢台做网站网站免费推广方式
  • 文山做女主播的在哪个网站安卓内核级优化神器
  • ps软件网站有哪些功能免费申请网站com域名
  • 微网站排版百度指数怎么看地域数据
  • 软件接单seo的实现方式
  • wordpress 侧边栏修改seo优化是什么职业
  • 制作网站的模板下载软件如何做企业产品推广
  • 大作设计网站官网入口在线磁力搜索引擎
  • 科技之锤英文谷歌seo
  • wordpress主题安装500seo推广主要做什么的
  • 找个网页公司做网站网站优化seo培训
  • 什么视频直播网站做挣钱青岛seo网站关键词优化
  • 做纺织外贸哪个贸易网站好seo如何快速排名
  • 网站日常维护最佳磁力吧ciliba