문제

나는 forms.signout를 사용하려고 노력하고 있지만 때로는 사용자를 로그 아웃하지 않으며 여전히 웹 사이트를 통해 Navegate를 할 수 있습니다.

이것을 어떻게 해결할 수 있습니까? 또한 Web.config Forms 인증을 구성했지만 여전히 작동하지 않습니다.

FormsAuthentication을 사용하여 로그인 한 사용자를 전달하는 사용자를 자동화하고 있습니다.

감사!!

도움이 되었습니까?

해결책

원인이 무엇인지 모르겠지만 고려/시도 할 수있는 몇 가지 사항

  • 실제로 서버에서 생성 된 페이지를 여전히 방문 할 수 있습니까? 아니면 로컬 캐시 버전으로 돌아가고 있습니까? 그들이 인증되었는지 확인하기 위해 코드가있는 포스트백을 일으킬 때 어떻게됩니까? 나중에 의미가 서명되었지만 로그인 한 페이지의 캐시 된 버전을 보는 것으로 생각합니다.이 경우 클라이언트가 인스턴스를 사용하여 페이지를 캐시하지 말라고 지시합니다.

    응답 .cache.setexpires (datetime.utcnow.addminutes (-1)); Response.cache.SetCacheaceality (httpCacheaceality.Nocache); 응답 .cache.setnostore ();

  • 쿠키를 만료되도록 수동으로 설정할 수 있지만 이것은 해킹입니다.

    formsauthentication.signout (); context.response.cookies.item (formsauthentication.formscookiename) .expires = date.now; response.redirect ( "~/whenege.aspx");

다른 팁

사용자는 신뢰할 수있는 사이트 또는 인트라넷 사이트에 도메인 (또는 부모 도메인)이 있습니까? 나는 최근에 사용자가 인증을받는 몇 가지 문제를 해결하지만 이것이 사실 인 상황에서는 익명입니다. 제 경우에는 부모 사이트가 한 번에 Windows 통합 인증을 허용하도록 구성된 것일 수도 있습니다. 제거한 이후로 제거했지만 문제에 도움이되지 않은 것 같습니다. 나는 이것이 효과가 있는지 확인하기 위해 아직 IIS를 다시 시작하지 않았습니다. 나는 뷰의 적절한 부분이 렌더링되도록 사용자가 인증되고 표현되지 않은지 확인하는 데 의지했습니다. 로그인 코드가 익명 로그인을 방해하지 않더라도 실제로는 더 정확합니다.

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