smileNewfreedom

블로그 이미지
freedom 모든 자유와 시간을 위해.....
by 다크포스
12-01 18:10
  • 680,195Total hit
  • 6Today hit
  • 3Yesterday hit

CALENDAR

«   2021/12   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

WebPartManager.IsAuthorized 메서드 (WebPart)

네임스페이스: System.Web.UI.WebControls.WebParts
어셈블리: System.Web(system.web.dll)

<C#>
public bool IsAuthorized (
    WebPart webPart
)

매개 변수

webPart

권한을 확인할 WebPart 또는 다른 서버 컨트롤입니다.

반환 값

webPart가 페이지에 추가할 수 있는 컨트롤인지 여부를 나타내는 부울 값입니다.
예외 형식조건

ArgumentNullException

webPart가 Null 참조(Visual Basic의 경우 Nothing)인 경우

IsAuthorized 메서드는 웹 파트 컨트롤 집합에서 WebPart 컨트롤이 페이지에 추가할 수 있는
컨트롤인지를 확인하기 위해 호출하는 초기 메서드입니다. 이 메서드는 webPart를 매개 변수로 받고,
컨트롤이 페이지에 추가될지 여부를 확인하기 위한 프로세스를 시작합니다. 특정 컨트롤이 페이지에
추가할 수 있는 컨트롤인지 여부를 확인해야 하는 경우 코드에서 직접 이 메서드를 호출합니다.

이 메서드는 컨트롤이 WebPart 클래스에서 상속되는 컨트롤이나 GenericWebPart 컨트롤인지 여부를
확인하고 이 조건을 만족할 경우 해당 컨트롤에 포함된 자식 컨트롤의 형식을 확인하는 초기 작업을
수행합니다. 권한 확인 작업을 마치려면 IsAuthorized(Type,String,String,Boolean) 오버로드
메서드를 호출합니다.

호출자 참고 사항 이 메서드는 코드에서 직접 호출됩니다. 권한 확인 프로세스를 프로그래밍 방식으로
자세하게 제어하려면 IsAuthorized(Type,String,String,Boolean) 오버로드 메서드를 재정의합니다.

다음 코드 예제에서는 코드에서 IsAuthorized(WebPart) 메서드를 호출하여 컨트롤이 페이지에 추가할
수 있는 컨트롤인지 여부를 확인하는 방법을 보여 줍니다.

이 코드 예제는 세 부분으로 이루어져 있습니다.

  • IsAuthorized 메서드를 재정의하는 사용자 지정 WebPartManager 컨트롤

  • WebPart 컨트롤에 대한 필터를 만드는 웹 페이지

  • 코드 예제를 실행하는 방법에 대한 설명

이 코드 예제에서는 IsAuthorized(Type,String,String,Boolean) 오버로드 메서드를 재정의하여
AuthorizationFilter 속성의 사용자 지정 처리 기능을 제공하는 사용자 지정 WebPartManager 컨트롤을
사용합니다. 이 컨트롤은 속성 값이 admin인지 확인하고 이 값이 있으면 컨트롤에 권한을 부여합니다.
이 속성 값이 다르거나 이 속성 값이 없는 컨트롤은 필터링 시나리오의 일부가 아닌 것으로 간주되어 권한이
부여되지 않습니다.

이 코드 예제를 실행하려면 이 소스 코드를 컴파일해야 합니다. 소스 코드를 명시적으로 컴파일하여 결과
어셈블리를 웹 사이트의 Bin 폴더나 전역 어셈블리 캐시에 둘 수 있습니다. 또는 소스 코드를 사이트의
App_Code 폴더에 두어 런타임에 동적으로 컴파일되도록 할 수 있습니다. 이 코드 예제에서는 동적 컴파일
방법을 사용합니다.






C#
 
using System;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Samples.AspNet.CS.Controls
{
  public class MyManagerAuthorize : WebPartManager
  {
    public override bool IsAuthorized(Type type, string path, string authorizationFilter, bool isShared)
    {
      if (!String.IsNullOrEmpty(authorizationFilter))
      {
        if (authorizationFilter == "admin")
          return true;
        else
          return false;
      }
      else
        return true;

    }
  }
}

코드 예제의 두 번째 부분에서는 컨트롤을 잠재적으로 제외시킬 수 있는 필터를 만듭니다.
다음 웹 페이지의 <asp:webpartzone> 요소에는 세 개의 ASP.NET 서버 컨트롤이 들어 있습니다.
첫 번째와 두 번째 컨트롤의 AuthorizationFilter 속성은 서로 다른 값으로 설정되어 있으며
세 번째 컨트롤에는 이 속성이 할당되어 있지 않습니다. 이 권한 값은 런타임에 확인할 수 있으며
개발자가 설정한 조건과 필터가 맞는 경우에 해당 컨트롤을 페이지에 추가할 수 있습니다.
또한 Page_Load 메서드의 코드에서는 IsAuthorized(WebPart) 메서드를 호출하여 각 컨트롤이 페이지에
추가할 수 있는 컨트롤인지 여부를 확인하고, 해당 권한이 있으면 각 컨트롤의 ExportMode 속성을 설정합니다.


출처 : http://msdn2.microsoft.com/ko-kr/library/ms157541(VS.80).aspx ::MSDN




TRACKBACK 0 AND COMMENT 0




ARTICLE CATEGORY

분류 전체보기 (534)
멋진 사진들 (8)
배경화면들 (3)
.NET (112)
연애이슈 (65)
게임관련 (15)
경제 이슈 (60)
모델 (0)
사진(취미) (14)
노래 (8)
호주워킹홀리데이 (11)
Javascript (2)
Ajax (4)
스포츠 (74)
우주/과학/생활 (95)
Windows 2008 (19)
Silverlight (2)
여행 (6)
MS 자격증 (2)
해외이슈 (4)
IT정보 (16)
Server (5)
애니매이션 (9)