首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ASP.NET核心RC2和.NET 4.5.1应用程序之间的共享cookie身份验证

ASP.NET核心RC2和.NET 4.5.1应用程序之间的共享cookie身份验证
EN

Stack Overflow用户
提问于 2016-05-30 07:57:33
回答 1查看 2.9K关注 0票数 4

我们有两个.NET应用程序运行共享cookie身份验证。一个是ASP.NET核心RC1应用程序,另一个是典型的.NET 4.5.1应用程序。

这是当前使用Configuration方法Startup.cs中过时的Startup.cs设置的。

这很好,但不支持RC2方法。

我们如何处理RC2的共享cookie身份验证?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-31 02:41:09

结合https://github.com/GrabYourPitchforks/aspnet5-samples/tree/dev/CookieSharingSharing authentication cookie among Asp.Net Core 1 (MVC6) and MVC 5 applications,我想出了一个可行的解决方案。我不知道这是否是“正确”的方法,但它有效,所以这里:

  1. 在这两个应用程序中使用nuget包Microsoft.Owin.Security.Interop 1.0.0-rc2-final
  2. 创建一个TicketDataFormat,使用DataProtectionProvider为加密密钥指定磁盘上相同的位置,以及相同的用途。
  3. 在这两个应用程序中以自己的方式配置cookie身份验证。指定相同的CookieNameTicketDataFormat

.NET 4.5.1,在Startup.cs配置方法中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var authenticationType = "Cookies";
var cookieName = "myCookieName";
var cookieEncryptionKeyPath= "C:/mypath";

var dataProtectionProvider = DataProtectionProvider.Create(new DirectoryInfo(cookieEncryptionKeyPath));
var dataProtector = dataProtectionProvider.CreateProtector("Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware", authenticationType, "v2");
var ticketDataFormat = new AspNetTicketDataFormat(new DataProtectorShim(dataProtector));

app.SetDefaultSignInAsAuthenticationType(authenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = authenticationType,
            CookieName = cookieName,
            TicketDataFormat = ticketDataFormat
        });

.NET核心RC2在Startup.cs配置方法中的应用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var authenticationType = "Cookies";
var cookieName = "myCookieName";
var cookieEncryptionKeyPath= "C:/mypath";

var protectionProvider = DataProtectionProvider.Create(new DirectoryInfo(cookieEncryptionKeyPath));
var dataProtector = protectionProvider.CreateProtector("Microsoft.AspNetCore.Authentication.Cookies.CookieAuthenticationMiddleware", authenticationType, "v2");
var ticketFormat = new TicketDataFormat(dataProtector);


app.UseCookieAuthentication(
                new CookieAuthenticationOptions
                {
                    CookieName = options.CookieName,
                    CookieDomain = options.CookieDomain,
                    TicketDataFormat = ticketFormat
                });
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37529741

复制
相关文章
MySQL是如何打开和关闭表?
当我们在执行mysqladmin status 命令或连接通过mysql客户端连接到实例后,执行\s的时候,应该看到类似以下的内容:
SEian.G
2021/07/29
3.6K0
HTTP的KeepAlive是开启还是关闭?
http://itindex.net/detail/50719-http-keepalive
跟着阿笨一起玩NET
2018/09/20
2.2K0
Android获取软键盘的高度、键盘的打开与关闭、监听键盘处于打开还是关闭状态
最近在项目中,需要获取到软键盘的高度,再将底部的布局上移键盘的高度,话不多说,直接上代码:
SoullessCoder
2019/08/07
7.8K0
如何判断是关闭还是刷新网页
我们在写js代码的时候,经常要判断网页是否被关闭了,如果是被关闭了,就执行某段代码,这个可以用HTML的onbeforeunload事件来执行一段js代码,但是如果网页只是被刷新的话,也同样会触发onbeforeunload事件,下面这段js代码可以判断是否关闭 //判断是关闭还是刷新 if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) {     alert("你关闭了浏览器"); } 这段代码就是判断触发onbeforeunload事件时,鼠标是否点击了关闭按钮,或者按了ALT+F4来关闭网页,如果是,则认为系统是关闭网页,否则在认为系统是刷新网页
源哥
2018/08/28
3.1K0
mysql or条件可以使用索引而避免全表
CREATE TABLE IF NOT EXISTS `t_myisam` ( `id` int(1) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `aNum` char(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `uid` (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;
黄规速
2022/04/14
1.5K0
mysql or条件可以使用索引而避免全表
导出SAP数据库表的字段和数据元素等详细信息
SAP→SE16N→DD03L 然后筛选表名,获取该表所有数据,然后进行导出,选择导出格式为自定义XMXL 缺点:导出字段顺序无法控制,按字母顺序排列;无法导出字段描述。
不会写代码的杰尼
2022/05/19
2K0
导出SAP数据库表的字段和数据元素等详细信息
HTTPKeepAlive,开启还是关闭
所谓「HTTP Keep-Alive」,在维基百科里称为「HTTP Persistent Connection」,说白了就是复用HTTP连接,如此一来理论上客户端的用户体验会更流畅,但是与之相对服务端不得不维持大量的连接。开启还是关闭,这是个问题。
LA0WAN9
2021/12/14
4870
oracle可以更改表名,sql – 更改Oracle表名
CONSTRAINT ORDER_SOURCE_PK PRIMARY KEY(OS_ID)
全栈程序员站长
2022/08/30
1.8K0
Tiktok 根据主播id(uniqueId)获取个人详细信息
https://download.csdn.net/download/qq_38154948/87942615
拉灯的小手
2023/06/23
9470
es 更改索引类型-存档
POST /livingdata/_mapping/?pretty { "properties": { "totalCount":{ "type": "text",
用户9347382
2022/02/17
5610
10.2 打开与关闭文件
例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。
小林C语言
2019/07/12
7430
10.2 打开与关闭文件
文件的打开与关闭
使用完一个文件后应该关闭它,以防止程序对文件误操作而导致出错。文件关闭是指撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件。
pigeon
2022/04/11
1.3K0
文件的打开与关闭
判断网页是通过PC端还是移动终端打开的
通过判断浏览器的 userAgent,用正则来判断手机是否是ios和Android客户端。代码如下:
德顺
2019/11/13
5.3K0
Redis跳跃表是如何添加元素的?
Java 面试不可能不问 Redis,问到 Redis 不可能不问 Redis 的常用数据类型,问到 Redis 的常用数据类型,不可能不问跳跃表,当问到跳跃表经常会被问到跳跃表的查询和添加流程,所以接下来我们一起来看这道题的答案吧。
磊哥
2023/07/09
1910
Redis跳跃表是如何添加元素的?
Redis跳跃表是如何添加元素的?
Java 面试不可能不问 Redis,问到 Redis 不可能不问 Redis 的常用数据类型,问到 Redis 的常用数据类型,不可能不问跳跃表,当问到跳跃表经常会被问到跳跃表的查询和添加流程,所以接下来我们一起来看这道题的答案吧。
磊哥
2023/06/27
2230
Redis跳跃表是如何添加元素的?
如何更改伪元素的样式
在前端开发中我们会经常用到伪元素,有时候需要通过js来修改伪元素的样式,那么有哪几种方式来修改伪元素的样式呢?
挥刀北上
2021/01/27
9.4K0
如何更改伪元素的样式
SQL server无法更改表
在设计器中,选择表设计器和数据库设计器,将阻止保存要求重新创建表的更改选项取消勾选 再次编辑表中内容时就不会再有错误弹窗。
magize
2023/07/11
2730
SQL server无法更改表
点击加载更多

相似问题

为什么‘a’标签需要`tabindex=0`?

20

如何在tabIndex = '0‘中添加TypeScript div?

29

为什么IE7要在没有表索引的元素中添加tabindex="0“?

12

动态添加tabindex

40

<a> click="“在tabindex='0‘时不起作用

151
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文