문제

우리는 광범위한 클래식 ASP 사이트를 보유하고 있으며 ASP .NET (아마도 최신 버전)로 업그레이드하려고합니다. 분명히 모든 페이지를 한 번에 업그레이드하는 것은 Leviathan 작업이므로 ASP .NET에서 처음에는 새 페이지 (및 페이지 재 작성) 만 작성하려고합니다.

그렇게하는 데는 두 가지 장애물이 있습니다.

  1. ASP .NET에서 클래식 ASP 세션 데이터에 액세스하는 방법을 모르겠습니다. 로그인 페이지 이외의 다른 페이지에서는 수정되지 않으므로 한 번만 설정해야합니다. 나는 클래식 ASP 로그인 페이지를 최소한으로 변경해야하지만 이는 작은 선호도 일뿐입니다.

  2. ASP 및 ASP .NET 세션은 버전 차이를 완벽하게 유지하기 위해 동시에 시간을 맞출 필요가 있습니다.

누구든지 도움을 줄 수 있습니까?

미리 감사드립니다.

도움이 되었습니까?

해결책

우리는 같은 과제에 직면했습니다 (재미 있지 않음). ASP.NET 세션 및 ASP 세션은 공유 할 수 없으므로 상황에 맞는 방법의 조합을 사용했습니다.

  • 경우에 따라 세션 대신 쿠키를 사용했습니다.
  • 다른 경우, 사용자의 세션 정보가 클래식 ASP 페이지에 설정된 경우 세션 정보가 설정된 후 쿼리 문자열 매개 변수로 읽은 ASP.NET 페이지로 리디렉션하고 설정하는 데 사용했습니다. ASP.NET의 동일한 세션 변수. 그런 다음 ASP.NET 페이지가 동일한 변수를 설정하면 해당 페이지가 원래 로그인 페이지가 이전에 가리키는 모든 페이지로 리디렉션을 수행했습니다. 동일하게 반대로 작동했습니다.

따라서 두 번째 시나리오에서는 예제 흐름이 다음에서 변경되었을 것입니다.

사용자는 보호 된 콘텐츠 페이지 -> 로그인 페이지 -> 로그인 -> 세션 정보 세트로 로그인 성공 -> 컨텐츠 페이지로 다시 리디렉션하려고합니다.

에게

사용자는 보호 된 콘텐츠 페이지 -> 로그인 페이지 -> 로그인 -> 세션 정보 로그인 성공 -> .NET 페이지로 리디렉션하고 로그인 자격 증명 등을 전달하는 등으로 로그인 -> 세션 정보 세트에 액세스하려고합니다 .-> ASPX 페이지 세션 정보 세션 정보 그런 다음 즉시 컨텐츠 페이지로 다시 리디렉션합니다.

우리는 그것이 해킹이라는 것을 알았지 만 사이트를 모두 전환 할 수있을 때까지 단기적으로 작동했습니다.

다른 팁

새로운 IIS 설정을 사용하여 더 나은 방법이있을 수 있습니다 (새로운 Godies IIS7이 할 수있는 일에 대해 최신 상태를 유지하지 않아야한다는 것을 인정해야합니다). 그러나 ASP 로그인 페이지에서 ASP.NET 페이지로 XMLRequest를 수행 할 수 있습니다. 게시물 데이터에 필요한 설정을 통과하거나 로직이 충분히 간단한 경우 .NET 페이지가 세션 데이터 자체를 채울 수 있습니다. .NET 페이지는 쿠키에서 .NET 세션 ID를 반환합니다. 해당 사용자가 .NET 및 클래식 ASP 세션 쿠키를 모두 갖도록 ASP 사용자 쿠키 컬렉션에서 설정해야합니다.

그렇게 할 것입니다.

몇 년 전에 데이터베이스를 사용하여 이것을 구현했습니다.

마이크로 소프트는 예쁘다 좋은 기사 이 시점에서는 조금 오래되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top