2010-03-01 7 views
2

IIS에서 실행되는 ASP.NET 3.5 응용 프로그램에서 현재 로그인하고 인증 된 모든 사용자의 "인증 해제"를 강제로 수행하려면 어떻게합니까?ASP.NET/IIS : 모든 사용자 로그 아웃

iisreset 트릭을 수행하지 않은 것 같습니다!

+1

사용자 인증 메커니즘과 어떻게 세션 정보를 저장을 설명해주십시오. – Timores

+0

Timores가 정확합니다. 인증 메커니즘에 더 많은 정보가 필요합니다. 단순히 IIS를 재설정하면 다양한 시나리오에서 인증을 재설정 할 수 없습니다. –

+0

CMS에서 EPiServer라는 인증 시스템을 사용하고 있습니다. –

답변

4

ASP.NET 인증은 쿠키 사용으로 인해 IISReset에 복원되도록 설계되었습니다. IISReset을 수행하면 메모리 내 정보가 지워지지만 다음에 사용자가 사이트에서 페이지를 요청할 때 (시간 초과되지 않은 경우) 여전히 유효하고 서버가 인증 토큰을 다시 인증합니다.

당신은 효과적으로 다시 시작한 후 사용자가 로그 아웃 무언가를 쓸 수있다 (예를 들어) 응용 프로그램을 저장 Application_Start에서 전역 변수에 시간을 시작하고, 그 값을 사용자 LastActivityDate 비교 - 그것은 이전의 경우 시작 시간이되면 Application_SessionStart 또는 Application_BeginRequest 동안 적절한 로그 아웃 메소드를 호출 할 수 있습니다.

0

인증 양식 이름을 변경하면 모든 사용자가 새 인증을 요구합니다.

은에서 :

<authentication mode="Forms"> 
    <forms name="originalName" loginUrl="~/Account/Login" /> 
</authentication> 

사람 :

<authentication mode="Forms"> 
    <forms name="differentName" loginUrl="~/Account/Login" /> 
</authentication>