与MVC 5共享owin身份cookie?

时间:2015-01-07 13:52:55

标签: asp.net-mvc cookies single-sign-on owin shared

我正在使用MVC 5中的用户管理进行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))
            }
        });

更新 感谢克里斯普拉特的回答,没有办法做到这一点,这导致我另一个问题 我可以在

之间共享一个cookie

name1.domain.com/app1和 name2.domain.com/app2

使用OWIN

1 个答案:

答案 0 :(得分:1)

今天发现这篇关于代码项目的文章,当时我想知道同样的事情,不是100%肯定,但对我来说肯定是可能的。

第1部分 - 设计: http://www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic

第2部分 - 实施: http://www.codeproject.com/Articles/114484/Single-Sign-On-SSO-for-cross-domain-ASP-NET-appl

当然,这并不是在域之间共享cookie,而是使用SSO用户管理Web服务(这对我来说似乎很好!)

注意:我知道链接只是不鼓励答案,但这些文章很大,任何想要告诉我如何正确做到这一点的人都欢迎:)