"WebApplication1"이라는 새로운 웹 응용 프로그램을 만듭니다. - 개인 사용자 계정으로 인증이 설정된 WebForms. 자동 생성 된 코드 템플릿에 한 줄의 코드를 추가하지 않습니다. 나는 응용 프로그램을 실행하고 사용자 "User1"을 등록하고 로그인 - 잘 작동합니다.한 사이트의 ASP.NET ID 로그인이 같은 컴퓨터의 다른 웹 사이트와 공유되는 이유는 무엇입니까?
이제 다른 웹 응용 프로그램 인 "WebApplication2"- 인증이 개인 사용자 계정으로 설정된 동일한 WebForms를 만듭니다. 다시 코드가 없으며 응용 프로그램을 실행합니다. 이제 "User2"라고하는 또 다른 사용자를 만듭니다. 제대로 작동합니다.
두 응용 프로그램이 동시에 실행 중일 때 문제가 발생합니다. 첫 번째 사이트에 "User1"로 로그인하면 두 번째 사이트의 Context.User.Identity가 "User1"로 등록되어 있지 않은 경우에도 "web1"로 자동 설정됩니다. 한 사이트에서 로그 아웃하고 다른 사이트에서 로그 아웃합니다.
Context.User.Identity가 어떻게 공유되고 있습니까?
코드는 동일합니다 - 나는 확실히 ASP.Net 신원이 저를 도와주세요 너무 작동 방법에 대한 몇 가지 기본 지식을 잃었
public static void SignIn(UserManager manager, ApplicationUser user, bool isPersistent){
IAuthenticationManager authenticationManager = HttpContext.Current.GetOwinContext().Authentication;
authenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
var identity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
authenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
}
.
미리 감사드립니다.
우수 질문 아래 우수한 허용 대답. "한 사이트의 ASP.NET ID 로그인이 같은 컴퓨터의 다른 웹 사이트와 공유되는 이유는 무엇입니까?"와 같이 질문 제목을 "question-ish"라는 더 많은 이름으로 바꾸는 것이 좋습니다. (또는 그런 식으로 ...) – Funka
@Funka - 귀하의 제안에 따라 변경된 질문. –