네임스페이스: System.Web.UI.WebControls.WebParts
어셈블리: System.Web(system.web.dll)
public bool IsAuthorized ( WebPart webPart )매개 변수
- webPart
권한을 확인할 WebPart 또는 다른 서버 컨트롤입니다.
반환 값
webPart가 페이지에 추가할 수 있는 컨트롤인지 여부를 나타내는 부울 값입니다.
예외 형식 | 조건 |
---|---|
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 폴더에 두어 런타임에 동적으로 컴파일되도록 할 수 있습니다. 이 코드 예제에서는 동적 컴파일
방법을 사용합니다.
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
'.NET > MOSS' 카테고리의 다른 글
오류 페이지 내용 띄우기 (1) | 2008.04.22 |
---|---|
사이트(SPSite)와 웹(SPWeb)의 차이 (0) | 2008.04.22 |
WebPart 메서드 (0) | 2008.04.18 |
MOSS 의 CSS (CSS Reference Chart for SharePoint 2007 ) (0) | 2008.03.24 |
Create Multi-Level Tree View Navigation in MOSS 2007 멀티 - 레벨 트리보기에서 탐색을 만들기 (0) | 2008.03.24 |
URN 기반 양식 2 (2) | 2007.10.31 |