Asp.net mvc 与MVC 5共享owin标识cookie?

Asp.net mvc 与MVC 5共享owin标识cookie?,asp.net-mvc,cookies,single-sign-on,owin,shared,Asp.net Mvc,Cookies,Single Sign On,Owin,Shared,我在MVC5中使用用户管理来做SSO应用,但是我不能在应用之间共享cookie http://SSO http://app IIS中的不同站点,我认为这类似于跨域,因此在app2中,当我在startup.auth中有类似的内容时 app.UseCookieAuthentication(new CookieAuthenticationOptions { CookieName = "sharedcookie", Co

我在MVC5中使用用户管理来做SSO应用,但是我不能在应用之间共享cookie

http://SSO
http://app

IIS中的不同站点,我认为这类似于跨域,因此在app2中,当我在startup.auth中有类似的内容时

app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            CookieName = "sharedcookie",
            CookieDomain = "SSO",
            CookieHttpOnly = false,
            
            //CookieDomain = "localhost",
            AuthenticationType = DefaultAuthenticationTypes.ExternalCookie,
            LoginPath = new PathString("/Account/Login"),
            Provider = new CookieAuthenticationProvider
            {
                external login to your account.  
                OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                    validateInterval: TimeSpan.FromMinutes(30),
                    regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
            }
        });

有了OWIN?

我今天在CodeProject上找到了这篇文章,当时我也在想同样的事情,虽然不是100%确定,但对我来说肯定是可能的

第1部分-设计:

第2部分-实施:

当然,这实际上不是在域之间共享cookie,而是使用SSO用户管理web服务(我觉得这很好!)


注意:我知道不鼓励只提供链接的答案,但这些文章太多了,欢迎任何人告诉我如何正确地做到这一点:)

这些应用程序是否位于完全不同的域,而不仅仅是同一域上的不同子域?如果您正在处理子域,您可以在域上设置cookie,然后它将与该域的所有子域共享。但是,如果您拥有完全不同的域,则100%不可能共享cookie。时期Cookie是域绑定的。因此,我的单一登录必须在同一个域上,但可以有不同的子域。Tnks!!!我可以共享这样的cookie吗?name.domain.com/app1和name.domain.com/app2?可以。但是,您还需要确保所有站点的机器密钥都是相同的,或者尽管站点接收到cookie,它仍然无法理解cookie。更多信息请点击此处:。可以对多个不同的域执行SSO,但要复杂得多。如果在*.domain.com上设置cookie,则所有子域都将获得该cookie(sub1.domain.com、sub2.domain.com等)。之后的路径不考虑在内。然而,正如我所说,仅仅接受饼干并不总是足够的。如果cookie中有加密会话id之类的内容,那么站点a设置的cookie对站点B来说基本上是垃圾,除非它们使用相同的加密方案。这就是机器钥匙的作用。
name1.domain.com/app1 and 
name2.domain.com/app2