2012-08-10 4 views
0

하나의 환경 (DEV ... 물론)에서 자격 증명을 잃어 버리는 것처럼 보이는 asp.net 응용 프로그램이 있지만 다른 것은 아닙니다 (INT). 로그인 한 후 몇 초 동안 무작위로 클릭하면 결국 로그인 페이지로 다시 연결됩니다.ASP.Net 응용 프로그램이 몇 초 후에 자격 증명이 손실됩니다.

저는 네트워크 관리자가 아니므로 잘못 말하면 용서해주십시오. 간단히 말해 DEV와 INT의 두 가지 환경이 있습니다. 각 서버에는 기본 서버를 가리키는 DNS A 레코드가 있습니다. DEV에서 앱이 가리키는 URL은 devEnv.organization.com과 같습니다. dev01이라는 이름의 서버를 가리 킵니다. INT에서 앱이 가리키는 URL은 intEnv.organization.com과 같습니다. 이것은 두 개의 서버 (int01 및 int02)를 가리 킵니다. 현재 네트워크 관리자는 int02를 그림 밖으로 가져 가려고 했으므로 intEnv.organization.com 레코드는 01을 가리 킵니다.
위에 설명 된 문제는이 환경에서 나타납니다. 응용 프로그램을 int01 서버에 직접 연결하면 응용 프로그램이 제대로 작동합니다.

다시 말해서 DEV에서는 devEnv.organization.com URL 또는 dev01 서버를 가리키는 지 여부와 관계없이 응용 프로그램이 완벽하게 (자연스럽게) 작동합니다. 문제를 일으킬 수있는 원인에 대한 아이디어가 있습니까? 클라이언트가 IIS7을 사용 중입니다. web.config는 각 데이터베이스에서 동일합니다 (적절한 데이터베이스 서버를 가리키는 데이터베이스 연결 문자열 제외).

도와주세요!

감사합니다,

스티브

+1

정말 무작위입니까, 아니면 특정 링크에서 발생합니까? 내 생각 엔 다른 컴퓨터 키를 사용하여 다른 서버로 연결하는 하드 코딩 된 링크가있는 것 같습니다. – Nathan

+0

클릭하는 링크는 데이터베이스 호출로 채워진 표에 있습니다. 따라서 링크는 하드 코딩되지 않습니다. –

+0

^^ re : Nathan의 코멘트에 대한 OP의 답변 :하지만 데이터베이스의 링크가 모두 상대 링크라는 사실을 절대적으로 확신하고 있습니까? 이러한 데이터베이스 링크 중 하나가 다른 도메인의 동일한 앱을 가리키면 로그 아웃 된 것처럼 보이지만 실제로는 로그인하지 않은 것입니다. –

답변

0

내가 피들러 같은 HTTP 디버거 트래픽을 도청 단지 것이다. 결국에는 로그 아웃됩니다. 그런 다음 Fiddler로 돌아가서 마지막 요청을 검사합니다. 검색 쿠키는 인증 쿠키를 지우는 헤더입니다. 또는 브라우저가 연속 요청에 쿠키를 첨부하도록 강제하는 다른 원인.

편집 :

실행 피들러. 요청 목록이 표시됩니다. 오른쪽에서 각 요청 세부 정보를 볼 수 있습니다. 상단의 요청, 하단의 응답. 원시보기로 전환하십시오. 당신이 찾는 것은 응답 (처음 몇 라인)이라면 헤더 섹션의 Set-Cookie 라인입니다. 첫 번째 요청 중 하나가 양식 인증 쿠키를 설정하여 이름과 값을 할당합니다. 다른 쿠키 중에서 양식 쿠키를 찾아야합니다. 나중에 몇 가지 요청을하면 쿠키가 다시 설정되었지만 이번에는 과거를 가리키는 날짜가 표시됩니다. 이렇게하면 쿠키가 지워지고 로그 아웃됩니다.

무엇이 발생했는지, 즉 특정 페이지에서 쿠키를 지우는 원인이 무엇인지 알아야합니다.

"Fiddler tutorial"에 대해 처음으로 Fiddler를 배우고 싶다면 충분히 있습니다.

+0

확인. 고마워.전에 네트워크 트래픽을 냄새 맡지 말고 ... 냄새 나는가? :-) 심각하게, 트래픽을 해석하는 법을 배우기 위해 읽을 수있는 웹 사이트 또는 기사가 있습니까? 예를 들어, "인증 쿠키를 지우는 헤더 검색 ..."이라고 말하면 어떻게 생겼는지 알 수 없으며 "쿠키를 지우십시오 ..."라고 말할 것입니다. 당신이 나를 가리킬 수있는 모든 것은 인정 될 것입니다. –

+0

답변을 편집했습니다. –

+0

Wiktor, 편집 해 주셔서 감사합니다. 매우 감사. –

관련 문제