Asp.net mvc ASP.NETMVC单点登录工作模式
我正在使用ASP.NETMVC3。我的应用程序也处理域和子域的请求。Cookie对于域级应用程序和用户登录以及验证工作正常,但对于子域,它会失败 我已经尝试了域设置,即父域、计算机密钥设置。即使我启动了一个新的空应用程序进行测试,它也不起作用 已经试过了,但仍然不起作用Asp.net mvc ASP.NETMVC单点登录工作模式,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在使用ASP.NETMVC3。我的应用程序也处理域和子域的请求。Cookie对于域级应用程序和用户登录以及验证工作正常,但对于子域,它会失败 我已经尝试了域设置,即父域、计算机密钥设置。即使我启动了一个新的空应用程序进行测试,它也不起作用 已经试过了,但仍然不起作用 <authentication mode="Forms"> <forms enableCrossAppRedirects="true" name=".ASPXAUTH" /> </authe
<authentication mode="Forms">
<forms enableCrossAppRedirects="true" name=".ASPXAUTH" />
</authentication>
cookie将子域视为单独的域。根据本文,您可以将其设置为“.mydomain.com”。注意开始时间 此链接有帮助吗?
FormsAuthentication.SetAuthCookie("tech", false);
HttpCookie cookie = FormsAuthentication.GetAuthCookie(User.Identity.Name, false);
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
// Store roles inside the Forms cookie.
FormsAuthenticationTicket newticket = new FormsAuthenticationTicket(
ticket.Version,
"aspuser",
ticket.IssueDate,
ticket.Expiration,
ticket.IsPersistent,
String.Join("|", "test"),
ticket.CookiePath
);
cookie.Value = FormsAuthentication.Encrypt(newticket);
cookie.HttpOnly = false;
cookie.Domain = "localhost";
Response.Cookies.Remove(cookie.Name);
Response.AppendCookie(cookie);