.net core web api 添加对session跨域实现
2024-09-01 22:06:07
1.配置Startup
/ConfigureServices添加: services.AddSession(options =>
{
options.Cookie.Name = ".AdventureWorks.Session";
options.IdleTimeout = System.TimeSpan.FromSeconds();//设置session的过期时间
options.Cookie.HttpOnly = true;//设置在浏览器不能通过js获得该cookie的值
});
services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
services.AddHttpContextAccessor();
#region 跨域
services.AddCors(options =>
options.AddPolicy("AllowSameDomain",
builder => builder.WithOrigins().AllowAnyMethod().AllowAnyHeader().AllowAnyOrigin().AllowCredentials()));
#endregion
//Configure添加:
app.UseCookiePolicy();
app.UseSession();
2.控制器启用
[EnableCors("AllowSameDomain")]
3.Ajax异步跨域调用
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>
<script type="text/javascript">
$.ajax({ //ajax post方式调用webapi
type: "Post",
contentType: 'application/json',
url: 'http://192.168.84.170:9005/api/AdminManager/Login',
data:JSON.stringify({ account: "admin", passwd: "e10adc3949ba59abbe56e057f20f883e" }),
dataType: 'json',
xhrFields: { withCredentials: true },
success: function (data) {
alert(data.msg);
console.log(data);
},
error: function (xhr) {
console.log(xhr.responseText);
}
})
</script>
</head>
<body>
</body>
</html>
最新文章
- C#学习笔记
- WinForm 中TreeView 控件的使用实例
- httpclient学习
- poj2406 KMP
- Material Design综合实例
- 第五根k线
- 通过Java SE 7自带的监控服务(WatchService API)实现类似.NET FileWatcher的功能
- 如何在Webstorm中添加js库 (青瓷H5游戏引擎)
- mac上的键盘生活——快捷键列表
- php 数组 类对象 值传递 引用传递 区别
- Python学习笔记:02数据类型
- SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
- 【DP】捡苹果
- 一键安装Davinci
- Linux查看实时网卡流量的几种方式
- js点击回到顶部
- MVC教程四:Controller向View传值的几种方式
- 使用原子类或synchronized(没用Lock)解决阐述多线程所遇到线程安全问题和解决方案
- 批量kill 进程
- 在MUI框架中使用video.js插件,并在暂停的时候利用Asp.net将观看时长保存到sqlserver数据库