2014-02-24 5 views
0

ASP .NET을 사용하여 만든 두 개의 웹 양식이 있습니다.Web Forms에 대한 액세스 제어

하나는 로그인 웹 양식이고 다른 하나는 정보를 표시합니다.

사용자가 성공적으로 로그인하면 로그인 양식이 다른 웹 양식으로 리디렉션됩니다.

사용자가 URL에서 웹 양식의 이름을 입력하는 것을 중지, 즉 특정 페이지에 대한 액세스를 제어합니다.

나의 목적은 사용자 로그인을하는 것이며, 로그인 한 경우에만 다른 양식에 액세스 할 수 있습니다.

감사합니다.

+1

아마도 여기에 대한 답변을 찾을 수 있습니다 : http://stackoverflow.com/questions/8910699/quickest-way-to-require-authentication-in-asp-net-webform –

+1

또 다른 빠른 수정 프로그램은 유효한 사용자 상태를 세션 변수에 추가하고 모든 내부 페이지에 ascx 페이지를 포함시킵니다. 세션 변수를 항상 확인하고 유효한 세션이 아닌 경우 리디렉션 할 수 있습니다. – ray

+0

@DarenThomas, 감사합니다. – mitchellt

답변

1

이렇게하려면 몇 가지 방법이 있습니다.

내가 과거에해온 방법은 로그인시 사용자 정보로 채워지고 세션에서 지속되는 CurrentUser 싱글 톤 클래스를 만드는 것입니다. 간단한 세션 [ "LoggedIn"] = true가 작업 - 클래스는 당신이 그 (것)들을 쉽게 접근 할 수 있도록 한 곳에서 등 사용자의 역할을 포함하여 더 많은 정보를 저장할 수 있습니다

그런 다음 (의사 코드 실례) 이와 같은 클래스를 생성

public class SecureBase : System.Web.UI.Page 
{ 
    protected override OnLoad(Event Args etc...) 
    { 
     if (!CurrentUser.IsLoggedIn) 
     { 
      Response.Redirect("~/uh-uh-uh--You-didnt-say-the-magic-word.aspx"); 
     } 
    } 
} 

당신에게. 그런 다음 보안하려는 페이지를 System.Web.UI.Page에서 직접 가져 오지 않고이 사이트에서 상속 받도록하십시오.

public class HomePage : Page 
{...} 

정상적으로 계속할 것이다 다른 하나를 리디렉션합니다 로그인하지

public class HomePage : SecureBase 
{...} 

그리고 당신의 완료, 사람이된다.

관련 문제