2017-04-27 4 views
0

수있는 사람이 내 asp.net mvc 응용 프로그램에서 폼 인증을 수행하는 가장 좋은 방법을 제안 할 수 있습니다. 내 요구 사항은 사용자가 5 분 동안 유휴 상태이면 애플리케이션이 자동으로 로그인 페이지로 리디렉션되어야한다는 것입니다. 가장 좋은 방법은 무엇입니까?ASP.NET MVC 인증 및 세션 시간 초과

+1

폼 인증 쿠키에서 slidingExpiration을 사용할 수 있습니다. –

답변

0

업데이트 당신의 web.config는 다음과 같이

<system.web> 

    <authentication mode="Forms"> 
     <forms name="AppName.Auth" loginUrl="~/Account/Login" protection="All" timeout="300" path="/" slidingExpiration="true" /> 
    </authentication> 

</system.web> 

시간 제한 = "300"-> 오분 X 60초

[권한 부여] 속성으로 장식 된 모든 MVC의 조치로 사용자를 리디렉션됩니다 5 분 동안 사용하지 않으면 로그인 페이지가 열립니다.

+0

답변 해 주셔서 감사합니다. 같은 방식으로 제공했지만 내 페이지를 새로 고침하면 리디렉션됩니다. 자동으로 진행되지 않습니다 여기에 비동기 http 요청을 보내고있는 것 같습니다. – SJoy

+0

아. 맞습니다. 리디렉션되지 않습니다. 이 작업은 수동으로 수행해야합니다. 자신의 사용자 지정 Authorize 특성을 연결하려면 [AuthorizeUser]를 호출하고 비동기 요청 onAthorization 이벤트를 처리하는 코드를 작성합니다. 그것을 온라인으로하는 방법에 대한 검색, 쉽게 할 수 있습니다. –

+0

또 다른 방법은 mvc 메서드 대신 웹 API 메서드를 호출하는 것입니다. System.Web.Http 네임 스페이스가있는 웹 API의 [Authorize] 특성이이 작업을 수행합니다. 그것은 당신이 클라이언트 콜백을 잡아 그에 따라 행동 할 수있는 401 무단 응답 헤더를 발생시킬 것입니다. –