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

关键配置:

            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. 污染Bootstrap modal 通过 css选择器 避免

    w 对框架的掌握.改进. 0-存在重复代码,需要改正,js timepicker框架传入类名: 1-大量的点击块,怎样避免对每个块重复写modal? <style> .w > td ...

  2. Spark源码分析 – Executor

    ExecutorBackend 很简单的接口 package org.apache.spark.executor /** * A pluggable interface used by the Exe ...

  3. Java 代码实现Http 的GET和POST 请求

    先来个传统的,不过这个里面有些类已经标明 deprecated,所以之后还有更好的方法,起码没有被标明 deprecated的类和方法. 前两个方法是有deprecated的情况.后面用HttpURL ...

  4. MYSQL--表分区、查看分区(转)

    一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设计技术.虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间, ...

  5. 如何用Qt Creator输出helloworld

    0 引言:相比于MFC只要直接在VS上搭建,Qt的配置就相对复杂了,Qt新手上路,老司机绕道,记录下配置Qt的整个过程,直到最终用C++输出“hello world”. 搭建环境:Win10 + qt ...

  6. docker部署oracle

    oracle部署 创建oracle用户 [root@stpass-15 ~]# useradd oracle[root@stpass-15 oracle]# cd oracle [root@stpas ...

  7. 虚拟机——安装虚拟机时,提示intel VT-x处于禁用状态

    1.联想Lenovo扬天T4900C-00安转虚拟机提示: 按F12进入bios模式,修改Intel VT-x为启用,BIOS中依次选择:Advanced(高级)——CPU Configuration ...

  8. OS X 10.9 Mavericks下如何安装Command Line Tools(命令行工具)

    OS X 10.9 Mavericks下如何安装Command Line Tools(命令行工具) 今天OS X 10.9 Mavericks正式发布,免费更新,立即去更新看看效果. 不过升级后安装命 ...

  9. javascript 类型 内存 对象

    var box =0 function test() { alert(box) //全局 }

  10. Myeclipse中is missing required source folder问题的解决

    最近在开发中,有好几次遇到is missing required source folder的问题,但是有些同事机器上却没有该问题,把整个工程删掉,重新从SVN上拿下来,问题依旧存在. 该问题出现后, ...