这里使用简单粗暴的方式,只为做个记录。

关键配置:

            services.AddDataProtection()
.SetApplicationName("appname")
.DisableAutomaticKeyGeneration()
.PersistKeysToFileSystem("keypath");

  注意:

appname:所有站点的ApplicationName值要保持一致

keypath:所有站点的密钥需要相同,这里指的是密钥存放的路径

做到以上两点一致,即可实现Cookie共享,当然,CookieName一样也是必须的。

DisableAutomaticKeyGeneration() 该方法表示不自动创建密钥,采用只读模式,然后指定密钥的路径。如果不使用该方法,系统在启动时会进行检测,如果没有便会自动创建,那么多站点下,每个站点都创建一个密钥,导致密钥不同,解密结果肯定不一样,那Cookie就无法跨站点,所以使用只读取模式,因此在启动和部署应该之前,要先生成密钥。至于如何生成密钥,此文中已提到,看你能否领悟 - -。

我们使用的大概原理就是:使用相同的密钥对Cookie进行加解密,任何一个站点当然能都能识别。

深入的学习,请看文章中给出的文献参考链接,比如修改加密方式,指定密钥时效等。

参考文献:https://docs.microsoft.com/zh-cn/aspnet/core/security/data-protection/configuration/overview

http://www.cnblogs.com/dudu/p/6495951.html

文章出处:http://www.cnblogs.com/anech/p/6873604.html

.Net Core Cookie跨站点共享 会话保持的更多相关文章

  1. 实现Cookie跨域共享

    实现原理:cookie是不能跨域访问的,但是在二级域名是可以共享cookie的 概念说明:站点1=a.abc.com   站点2=b.abc.com 实现步骤:1. 配置两个站点的webconfig ...

  2. cookie跨域共享

    domain和path属性,domain就是当前域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net,path默认就是当 ...

  3. .Net Core 防止跨站点请求伪造

    一.在From 表单中生成 antiforgery 令牌 1. ASP.NET Core MVC 和 Razor 页模板中的窗体的所有生成 antiforgery 令牌,唯一且不可预测.服务器先发送到 ...

  4. [php] cookie 跨域共享

    <?php // m.hinabian.com class Controller_Cookie extends Hnb_Base_Controller { public function ini ...

  5. 跨域共享cookie和跨域共享session

    转载自:http://blog.csdn.net/ahhsxy/article/details/7356128 这里所说的跨域,是指跨二级域名,而且这些域名对应的应用都在同一个app上, 比如我有以下 ...

  6. 网站跨站点单点登录实现--cookie

    至于什么是单点登录,举个例子,如果你登录了msn messenger,访问hotmail邮件就不用在此登录.一般单点登录都需要有一个独立的登录站点,一般具有独立的域名,专门的进行注册,登录,注销等操作 ...

  7. ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)

    不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: https://dotnetcoretutorials.com/201 ...

  8. 在ExpressJS中设置二级域名跨域共享Cookie

    问题:我使用expressjs和mongostore来管理session.下面是expressjs中的设置. app.configure(function(){ app.use(express.ses ...

  9. cookie用法小结 cookie.setPath 跨域共享

    1. JSP中Cookie的读写 Cookie的本质是一个键值对,当浏览器访问web服务器的时候写入在客户端机器上,里面记录一些信息.Cookie还有一些附加信息,比如域名.有效时间.注释等等. 下面 ...

随机推荐

  1. datasnap rest Windows客户端编写

    首先吐槽一下XE关于datasnap的资料真的是太少了... 服务端用DSHTTPService1控件可以实现http接口方式的调用,返回的都是json格式数据,适用于跨平台解析. 这里着重强调一下d ...

  2. python基础-第八篇-8.1初识Socket

    socket基础 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. so ...

  3. 由link和@import的区别引发的CSS渲染杂谈

    我们都知道,外部引入 CSS 有2种方式,link标签和@import. 它们有何本质区别,有何使用建议,在考察外部引入 CSS 这部分内容时,经常被提起. 如今,很多学者本着知其然不欲知其所以然的学 ...

  4. Hadoop的Combiner

    在很多MapReduce应用的场景中,假设能在向reducer分发mapper结果之前做一下"本地化Reduce".一wordcount为样例,假设作业处理中的文件单词中" ...

  5. sscanf,sscanf

    在#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........); 函数说明: sscan ...

  6. MongoDB的安全校验

    一.MongoDB安全校验的重要性 每个MongoDB实例中的数据库都可以有许多用户.如果没有开启安全校验,限制用户权限,则每个进到数据库的用户都能任意的对数据库数据进行读,写甚至是读写操作.这样的场 ...

  7. Google Code Jam 2014 总结

    第一次参加ACM竞赛,对自己取得的成绩还满意. Round1A: Rank: 2446 Score: 9 (没有进前1000名,只能拼下次了) Round1B: Rank: 944 Score: 42 ...

  8. 来自IOS开发工程师的零基础自学HTML5经验分享

    移动互联网的火爆,而Html具有跨平台.开发快的优势,越来越受到开发者的青睐.感谢IOS开发工程师“小木___Boy”’带来的HTML5学习经验分享. 一.学习途径 1.很多视频网站 比如慕课.和极客 ...

  9. C#小票打印机动态纸张尺寸

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. 今天刚接触lua 写写环境配置和基本设置

    首先是安装开发工具: Quick: http://www.tairan.com/engines-download 引擎 Sublime Text的下载地址为:http://www.sublimetex ...