2012-01-18 4 views
0

응용 프로그램에서 URL을 수동으로 변경하지 않도록 설정해야합니다.내 응용 프로그램의 URL을 수동으로 변경하지 못하도록 설정하는 방법

예 : index.aspx 페이지가 있습니다. Create라는 하나의 버튼이 있습니다. Create.aspx 페이지로 이동합니다.

일부 유효성 확인을 기준으로 색인 페이지에서 버튼 만들기를 비활성화합니다. 나는 그것을 할 수있다.

수동으로 URL을 변경하면 문제가 발생합니다. 직접 URL을 사용 중지 할 수있는 방법이 있습니까?

감사합니다.

답변

1

더 나은 무능한 논리의 세부 사항을 알고 있거나이 URL이 지적한 곳에, 나는 이것이 사용자 정의 액션 필터에 대한 일이라고 말할 수 있습니다. 여기

는 사용자 정의 검증 필터의 예입니다 : ... 속성을 적용 컨트롤러의 액션 메소드에서 다음

public class CustomAuthorizeAttribute : AuthorizeAttribute 
    { 

     public override void OnAuthorization(AuthorizationContext filterContext) 
     { 
      //the base will just do the default behavior 

      base.OnAuthorization(filterContext); 

      //...if(same eval logic for button)==true 
      filterContext.Result = new RedirectResult(<url>); //or RedirectToRoute(... 
     } 
    } 

0

사용자가 만들기 페이지를 볼 수있을 때 세션 변수를 설정합니다.

Session["Create"]=true; 

create.aspx에 도달하면 해당 세션 변수를 확인하십시오. 그것이 사실이라면, 그것들을 당신의 색인 페이지에 두지 않으면 안됩니다.

0

색인 페이지에서 "CreateButton"을 클릭 할 때 세션 변수를 설정하십시오.

//Code for your button on your index page 

    Session["allowaccesstoCreatePage"]=1; 

확인하여 create.aspx 페이지 로딩에이 세션 변수

if(Session["allowaccesstoCreatePage"]==null) 
{ 
Response.Redirect("index.aspx"); 
} 
0

Create.aspx의 Page_Load 이벤트 유형이 나에 대한없이 후 Page_Init 이벤트

if (Request.UrlReferrer == null) 
     Response.Redirect("~/index.aspx"); 
관련 문제