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

塞弗林

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

当前使用Microsoft.Owin.Security.Cookies.Interop以下Configuration方法中的过时设置Startup.cs

这可以正常工作,但不支持RC2。

我们如何进行RC2的共享cookie身份验证?

塞弗林

结合https://github.com/GrabYourPitchforks/aspnet5-samples/tree/dev/CookieSharing在Asp.Net Core 1(MVC6)和MVC 5应用程序之间共享身份验证cookie,我能够提出一个可行的解决方案。我不知道这是否是解决问题的“正确”方法,但是它可以正常工作,所以在这里:

  1. Microsoft.Owin.Security.Interop 1.0.0-rc2-final在两个应用程序中都使用nuget-package

  2. 创建一个TicketDataFormat使用方法DataProtectionProvider,为磁盘上的加密密钥指定相同的位置,并具有相同的用途。

  3. 在这两个应用程序中以单点方式配置cookie身份验证。指定相同的内容CookieNameTicketDataFormat

.NET 4.5.1,在以下方法的Configure方法中Startup.cs

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 CORE RC2中的Configure方法Startup.cs

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
                });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

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

来自分类Dev

在.net 4x和.net 5应用程序之间共享身份验证Cookie-访问用户ClaimsPrinciple

来自分类Dev

ASP.NET Core rc2中的Cookie

来自分类Dev

ASP Net Core 1 RC2 AccountController注入

来自分类Dev

在ASP.NET Core应用程序(RC2)中使用net451库

来自分类Dev

ASP.NET Core 1 RC2 Web应用程序入口点

来自分类Dev

使用ASP.NET Core RC2 404(而不是403)进行承载身份验证

来自分类Dev

在ASP.NET MVC Core应用程序(RC2)中显示项目版本

来自分类Dev

无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

来自分类Dev

WebApi 2身份验证和ASP.NET MVC 5应用程序

来自分类Dev

Cookie身份验证在ASP.NET Core应用程序中不起作用

来自分类Dev

将Asp.Net Core RC1迁移到RC2后的问题

来自分类Dev

Web 应用程序和 API AzureAD 身份验证流程 ASP.NET Core

来自分类Dev

ASP.NET MVC 5:应用程序池,Windows身份验证和Active Directory

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

是否发布了ASP.NET Core RC2?

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

.net Core安装程序(RC2)和.Net Core SDK安装程序(预览1)之间有什么区别?

来自分类Dev

ASP.NET Core RC2身份数据库架构迁移

来自分类Dev

如何启动不监听本地主机的ASP.NET Core 1.0 RC2应用

来自分类Dev

如何启动不监听本地主机的ASP.NET Core 1.0 RC2应用

来自分类Dev

如何在ASP.NET Core 1.0 RC2中加载程序集

来自分类Dev

asp.net core 1 rc2:创建视图组件

来自分类Dev

从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

来自分类Dev

如何在ASP.NET Core RC2应用程序中手动重新加载IOptions

来自分类Dev

如何在两个 asp.net 应用程序之间共享身份验证

来自分类Dev

.NET Core RC2 applicationhost.config与ASP.NET .NET 4.6不兼容?

来自分类Dev

如何使用WebListener和Windows身份验证将ASP.NET Core应用程序托管在IIS下?

来自分类Dev

如何使用WebListener和Windows身份验证将ASP.NET Core应用程序托管在IIS下?

Related 相关文章

  1. 1

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

  2. 2

    在.net 4x和.net 5应用程序之间共享身份验证Cookie-访问用户ClaimsPrinciple

  3. 3

    ASP.NET Core rc2中的Cookie

  4. 4

    ASP Net Core 1 RC2 AccountController注入

  5. 5

    在ASP.NET Core应用程序(RC2)中使用net451库

  6. 6

    ASP.NET Core 1 RC2 Web应用程序入口点

  7. 7

    使用ASP.NET Core RC2 404(而不是403)进行承载身份验证

  8. 8

    在ASP.NET MVC Core应用程序(RC2)中显示项目版本

  9. 9

    无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

  10. 10

    WebApi 2身份验证和ASP.NET MVC 5应用程序

  11. 11

    Cookie身份验证在ASP.NET Core应用程序中不起作用

  12. 12

    将Asp.Net Core RC1迁移到RC2后的问题

  13. 13

    Web 应用程序和 API AzureAD 身份验证流程 ASP.NET Core

  14. 14

    ASP.NET MVC 5:应用程序池,Windows身份验证和Active Directory

  15. 15

    ASP.NET Core RC2中的网址重写

  16. 16

    是否发布了ASP.NET Core RC2?

  17. 17

    ASP.NET Core RC2中的网址重写

  18. 18

    .net Core安装程序(RC2)和.Net Core SDK安装程序(预览1)之间有什么区别?

  19. 19

    ASP.NET Core RC2身份数据库架构迁移

  20. 20

    如何启动不监听本地主机的ASP.NET Core 1.0 RC2应用

  21. 21

    如何启动不监听本地主机的ASP.NET Core 1.0 RC2应用

  22. 22

    如何在ASP.NET Core 1.0 RC2中加载程序集

  23. 23

    asp.net core 1 rc2:创建视图组件

  24. 24

    从ASP.NET Core MVC Web应用程序(RC2)引用完整框架库项目吗?

  25. 25

    如何在ASP.NET Core RC2应用程序中手动重新加载IOptions

  26. 26

    如何在两个 asp.net 应用程序之间共享身份验证

  27. 27

    .NET Core RC2 applicationhost.config与ASP.NET .NET 4.6不兼容?

  28. 28

    如何使用WebListener和Windows身份验证将ASP.NET Core应用程序托管在IIS下?

  29. 29

    如何使用WebListener和Windows身份验证将ASP.NET Core应用程序托管在IIS下?

热门标签

归档