0
한 도메인 아래에서 여러 사이트를 호스팅하고 싶습니다. 그러나 현재 내가 localhost를하고 있어요 그래서 나는 내 등을이 두 라인을 추가/hosts 파일 :쿠키를 하위 도메인에 액세스
127.0.0.1 something.com
127.0.0.1 orders.something.com
는 IIS에서 호스팅 2 응용 프로그램이 있습니다. 하나는 orders.something.com/OrdersSSO
을 사용하여 탐색 할 수 있으며 something.com/SSOSample/
을 사용하여 다른 브라우저를 탐색 할 수 있습니다.
something.com/SSOSample/
이 코드를 사용하여 인증 쿠키를 만들어 :
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
"abc",
DateTime.Now,
DateTime.Now.AddMinutes(30), // value of time out property
true, // Value of IsPersistent property
String.Empty,
FormsAuthentication.FormsCookiePath);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie authCookie = new HttpCookie(
FormsAuthentication.FormsCookieName,
encryptedTicket);
Response.Cookies.Add(authCookie);
그래서 나는이 응용 프로그램에서 기록하고있다. 그러나 orders.something.com/OrdersSSO를 검색 할 때 인증 쿠키를받지 못합니다.
이 Web.config의 내 양식 섹션 :
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" enableCrossAppRedirects="true" timeout="2880" domain=".something.com" />
</authentication>
나는 무엇을 놓치고?
제 web.config을 읽어보십시오. 나는 이미 그것을 가지고있다. – Jaggu
쿠키를 수동으로 설정하기 때문에 여전히 authCookie.Domain = ".something.com"이 필요합니다. ASP.NET이 쿠키 만료를 자동으로 확장하면 web.config 도메인 특성이 사용됩니다. –