Asp.net mvc 与MVC 5共享owin标识cookie?
我在MVC5中使用用户管理来做SSO应用,但是我不能在应用之间共享cookie http://SSOAsp.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
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