标签:efault 服务器端 required enable icon oca this 会话 接口
最近的项目,要求前后端分离,手机客户端使用的是微信小程序,服务器接口,使用webapi接口分离,pc端后台管理也分离。
这里要说的是,后台pc管理端和服务器的API之间,使用session验证是否登录;后台客户端管理使用的是vue全家桶+axios
1.首先需要开启服务器端的session,需要在Global.asax文件中添加一下代码:
public override void Init() { this.AuthenticateRequest += WebApiApplication_AuthenticateRequest; base.Init(); } void WebApiApplication_AuthenticateRequest(object sender, EventArgs e) { //启用 webapi 支持session 会话 HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required); }
需要重新Init方法
2.需要开通跨域,这里使用的是,Cors插件跨域,在NuGet中下载Microsoft.AspNet.WebApi.Core
然后在App_Start--->WebApiConfig.cs下添加如下代码:
var geduCors = new EnableCorsAttribute(origins: "http://localhost:8080", headers: "*", methods: "*") { SupportsCredentials = true//设置跨域时,跨域带cookie,或者session }; config.EnableCors(geduCors);
注意:要使用session,配置中的origins属性不能使用*,一定要写上你要跨域的域名。
3.在vue的main.js配置中,设置axios的属性:
标签:efault 服务器端 required enable icon oca this 会话 接口
原文地址:https://www.cnblogs.com/PiaoYu/p/11386230.html