2012-09-07 3 views
1

가상의 상황에서 웹 페이지에 액세스하면 안되는 사용자는 해당 페이지로 이동합니다. 이 페이지는 하위 페이지입니다. 사용자는이 페이지에 아무 기능도 없거나 아무 것도 볼 수 없지만 마스터 페이지 컨트롤을 계속 사용할 수 있어야합니다. 페이지를 비활성화하려면 어떻게합니까?asp.net에서 페이지를 비활성화하는 가장 간단한 방법은 무엇입니까?

아마도 컨트롤 요소 .visible = false를 만들 거라고 생각했지만이게 안전합니까? 페이지를 비활성화해야하는 다른 방법이 있습니까?

+0

검사로 리디렉션 그들의 허가 및 다른 페이지로 그들을 리디렉션? 또는 위치/역할로 완전히 허용하지 않을 수도 있습니다. – mellamokb

+0

나는 그것을 통해 자신의 길을 확실히 트롤 할 수 있고, 내가 원하지 않는 것을 할 수 없다는 것을 확실히 할 수 있었지만, ASP.NET (내가 상대적으로 아직 익숙하지 않은)이 어떤 종류의 선호를 가지고있을 것이라고 생각했다. -programmed 사용자를 종료하는 쉬운 방법 – proseidon

+1

사용 권한 구조는 무엇입니까? 예를 들어 표준 SQL 데이터베이스 구조로 백업 된 기본 멤버십 공급자를 사용하고 있습니까? web/config에서 특정 페이지 또는 전체 폴더에 대한 역할/사용자 기반 액세스를 제어하는 ​​통합 된 방법이 있는데, 이는 "위치/역할"이 의미하는 것입니다. – mellamokb

답변

2

Page_Load에서 해당 페이지로 리디렉션, 당신이 원하는 원하는 마스터 페이지가있는 nopermission.aspx 페이지를 제공

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!HasPermission("User123")) //User does not have permission 
     Response.Redirect("nopermission.aspx"); 

    //otherwise, the page continues as required 
} 

당신은 내가 이해 가정하고 nopermission 페이지

+0

이 검사에는'Page_init' 이벤트를 사용하는 것이 더 나을 것입니다. 또는 응용 프로그램에 대해 'BasePageClass'를 사용하는 경우 훨씬 더 좋습니다. 그렇다면'BasePage'의'Overrided'' OnInit' 메소드에서이 조건을 확인하십시오. –

1

에서 원하는 친화적 인 어떤 정보를 넣을 수 있습니다 귀하의 질문, 그리고 당신은 ASP.Net Web Forms를 참조하고 있다고 가정하면 <asp:LoginView /> 컨트롤을 살펴보십시오.

사용자의 유형을 나타내는 <AnonymousTemlate /><LoggedInTemplate />이 있습니다 (익명이거나 로그인 한 상태에서 적절한 내용으로 표시됨).

ASP.net 폼 인증과 함께 작동합니다.

세부 사항에 대한

: 컨트롤이 볼 만들기 MSDN - ASP.Net Login Controls

제 H ....

0

= 거짓이 컨트롤에 대한 아무 것도 렌더링되지 않기 때문에이 안전해야에 사용자가 액세스 권한이없는 경우 섬기는 사람. 사용자가 페이지에 액세스하려고하면

그러나, 그들은에 액세스 할 수 없습니다 나는 보통 활동을 기록하고, "죄송이 페이지를 볼 권한이 없습니다"화면

관련 문제