2012-02-21 9 views
0

사용자가 로그인하지 않았지만 수동으로 URL을 입력하여 웹 페이지를 입력하려고하는 사용자를위한 오류 코드가 있습니까?"로그인하지 못했습니다"또는 페이지 리디렉션 오류 코드

현재 웹 응용 프로그램이 사용자를 로그인 페이지로 리디렉션하지만 web.config의 오류 페이지에 대한 페이지 리디렉션을 처리하는 더 좋은 방법이 있는지 알고 싶습니다.

편집 : Web.config의에서

Forms 태그 :

<forms name=".ADAuthCookie" loginUrl="Login.aspx" defaultUrl="~/dataRefresh.aspx" timeout="20" />

+0

* 인증되지 않은 *은 응용 프로그램의 오류 일 경우 로그인 페이지를 편집하여 간단히 표시 할 수 있습니다. "액세스 거부"메시지와 같은 것을 찾고 있다고 가정합니까? – Yuck

+0

@ Yes 예. 로그인 페이지 대신 오류 메시지를 표시하도록 사용자를 리디렉션하는 솔루션을 찾고 있습니다. web.config의 'forms' 태그에 내 게시물을 편집했습니다. – gymcode

+2

miind에서 유효한 사용자를 유지하면 로그인이 만료 된 후 페이지를 북마크에 추가하고 방문 할 수 있습니다. 로그인 페이지로 전달하지 않으면 의미있는 일을해야합니다. –

답변

4

당신은의 Application_EndRequest 이벤트 처리기에서, 당신의 Global.asax.cs에 필요합니다

EndRequest 이벤트를 처리하고 다음 proc를 수행하는 HttpModule을 만들어야합니다 싱 :

if(Response.StatusCode == 401) 
    { 
    // add code to redirect to the access denied page 
    } 

귀하의 HttpModule의를 UrlAuthorizationModule 모듈 자체를 수행하기 전에 리디렉션을 수행 할 수 있도록 UrlAuthorizationModule 모듈의 전면에 등록해야합니다.

이렇게하면 양식 인증이 일반적으로 로그인 페이지로 라우팅되는 모든 요청에 ​​대해이 작업을 수행합니다.

+0

'Global.asax.cs '를 어떻게 만드는지 알고 싶습니까? 나는 그 이름을 가진 파일을 가지고 있습니다. 현재 만들 필요가없는 그 이름을 가진 파일을 가지고 있다면, – gymcode

+0

@RUiHAO입니다. 핸들러를 추가 할 수 있습니다. –

+0

죄송합니다. 오류가 발생했습니다. – gymcode