Single Sign On 3/3

SSO per due applicazioni in due sottodomini dello stesso dominio

E' il caso di applicazioni del tipo app1.com e app2.app1.com. In questo caso i cookie vengono memorizzati in file differenti e non sono visibili a entrambe le applicazioni. Bisogna utilizzare dei cookie di dominio. Non è possibile utilizzare la RedirectFromLoginPage in quanto non crea un cookie di dominio; è necessario quindi crearli manualmente:

FormsAuthenticationTicket  fat = new FormsAuthenticationTicket(1, "ppaperino", DateTime.Now, DateTime.Now.AddYears(1), true, "");
HttpCookie cookie = new HttpCookie(".app2Auth");
cookie.Value =
FormsAuthentication.Encrypt(fat);
cookie.Expires = fat.Expiration;
cookie.Domain =
".app1.com";
HttpContext.Current.Response.Cookies.Add(cookie);

FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, "Paolino Paperino", DateTime.Now, DateTime.Now.AddYears(1), true, "");
HttpCookie cookie = new HttpCookie(".app1Auth");
cookie.Value =
FormsAuthentication.Encrypt(fat);
cookie.Expires = fat.Expiration;
cookie.Domain =
".app1.com";
HttpContext.Current.Response.Cookies.Add(cookie); 

Vale ancora lo stesso discorso per il <machinekey>.


Technorati tags:

Print | posted @ sabato 10 aprile 2010 15:11

Comments have been closed on this topic.