2012-04-24 3 views
0

asp.net 사이트를 암호로 보호하려고합니다. 그러나이 주소 끝에 /home.aspx를 넣으면 괜찮습니다. 로그인 페이지를 통과하여 버튼을 통해서만 다른 페이지에 액세스 할 수있게하는 방법이 있으며, 직접 액세스하면 로그인 페이지로 리디렉션됩니까?로그인 페이지를 사용하여 asp.net 사이트를 보호하는 비밀번호

감사

당신이 다른 방법을 사용하지 않는
+0

자세한 정보를 제공해야합니다. 로그인을 위해 어떤 기술을 사용하고 있습니까? 우리에게 몇 가지 예제 코드를 보여주세요. – Curt

+0

현재 하드 코딩 된 암호와 사용자 이름을 사용하고 있습니다. 사이트의 종류에 대해 괜찮습니다. 내가해야 할 일은 /home.aspx 등을 URL 끝 부분에 작성하는 것입니다. 로그인 페이지를 통과하십시오. – Sophie

답변

0

로그인하는 순간 세션을 시작해야합니다. 이것은 내가 내 고등학교 프로젝트

> public void LoginUser(string id, string mail, string ww, string admin) 
>  { 
>   Session["UserID"] = id; 
>   Session["IsAdmin"] = admin; 
>   if(admin == "admin") 
>   { 
>    Response.Redirect("~/Admin/AdminCP.aspx"); 
>   } 
>   else if (admin == "user") 
>   { 
>    Response.Redirect("~/User/UserCP.aspx"); 
>   } 
>   else 
>   { 
>    lblLoginError.Text = "An error has accurred"; 
>    lblLoginError.Visible = true; 
>    lblLoginError.CssClass = "failureNotification left"; 
>   } 
>  } 

이 중 하나에 사용되는 일부 코드는 내가 사용자가 관리자 또는 기본 사용자가 있다면 탐지에 사용되는 방법이다. 이 후 는,를 Page_Load 섹션의 모든 페이지에서 당신은 세션 사용자 ID가 실행중인 경우이 매번를 확인합니다

> if (Session["UserID"] == null) 
>   { 
>    Response.Redirect("~/Account/Login.aspx"); 
>   } 

을 추가해야합니다. 비어있는 경우 로그인이 발생하지 않으므로 사용자는 로그인 할 수있는 페이지로 리디렉션됩니다.

희망이 있습니다. ;-)

0

세션에 로그온 상태를 저장할 수 있으며 성공적으로 로그인 한 경우에만 설정되는 isLoggedin 플래그에 대한 페이지로드 또는 사전 초기화를 확인할 수 있습니다. 이렇게하면 로그인 한 페이지로 직접 이동하는 것을 막을 수는 있지만 로그인하지 않으면 페이지가 계속 나오지 않습니다.

+0

이것에 대한 몇 가지 예제 코드를 제공해 주시겠습니까? 로그인하면 사용자가 모든 페이지를 볼 수 있으므로 이상적인 메시지가 표시됩니다. – Sophie

+0

로그온 스크립트에는 세션 [ "LoggedIn"] = "true" 과 페이지로드 또는 onInit if (Session [ "LoggedIn"] == null || 세션 [ "LoggedIn"] .ToString()! = "true") { response.redirect // 로그인 페이지 } – ReiMasuro

관련 문제