Visual C# .NET을 사용하여 ASP.NET 응용 프로그램에서 폼 기반 인증을 가진 역할 기반 보안을 구현하는 방법

이 문서는 이전에 다음 ID로 출판되었음: KR311495
이 문서의 Microsoft Visual Basic .NET 버전에 대한 내용은 306238를 참조하십시오.

이 문서에서 참조하는 Microsoft .NET Framework 클래스 라이브러리 네임스페이스는 다음과 같습니다.
  • System.Web.Security
  • System.Security.Principal

문서 내용

요약
이 문서에서는 Visual C# .NET을 사용하여 폼 기반 인증을 구현한 ASP.NET 응용 프로그램에서 역할 기반 보안을 구현하는 방법을 설명합니다.


요구 사항

이 문서는 ASP.NET 응용 프로그램에서 폼 기반 인증이 이미 구현되었다고 가정합니다.
301240 C# .NET을 사용하여 ASP.NET 응용 프로그램에서 폼 기반 인증을 구현하는 방법

인증 사용자에게 역할 할당

폼 사용자가 Microsoft Windows 사용자가 아닐 수도 있기 때문에 관련된 역할이 기본으로 지정되지 않습니다. 따라서 코드 내에서 역할 기반 보안을 구현할 수 있도록 해당 사용자의 ID에 인증 사용자의 역할을 지정해야 합니다.

이 절의 예제 코드를 사용하여 응용 프로그램에서 역할 기반 보안을 구현할 수 있습니다. 이 예제 코드에서는 사전에 지정된 역할을 인증 사용자에게 할당합니다. 사용자 데이터를 저장하는 방법에 따라 사용자 지정 메서드를 구현하여 해당 인증 사용자의 역할을 검색할 수 있고 아래의 코드 예제처럼 이 역할을 인증 사용자의 ID에 지정할 수 있습니다.

기존 응용 프로그램의 Global.asax 파일에 다음 코드를 복사하여 Application_AuthenticateRequest 이벤트 처리기에 있는 인증 사용자에게 역할을 지정합니다.
public void Application_AuthenticateRequest( Object src , EventArgs e ){   if (!(HttpContext.Current.User == null))   {      if (HttpContext.Current.User.Identity.AuthenticationType == "Forms" )      {      System.Web.Security.FormsIdentity id;      id = (System.Web.Security.FormsIdentity)HttpContext.Current.User.Identity;      String[] myRoles = new String[2];      myRoles[0] = "Manager";      myRoles[1] = "Admin";      HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id,myRoles);      }   }}				

.ASPX 페이지에서 사용자 역할 확인 및 프로그램 논리 구현

다음 절차는 인증 사용자가 속하는 역할을 기반으로 프로그램 논리를 구현하고 제어하는 방법을 보여줍니다.
  1. Sample.aspx라는 새로운 .aspx 페이지를 만들고 다음 코드를 붙여넣습니다.
     <%@ Page Language="C#" %> <%@ Import Namespace="System.Web" %>    <script runat=server>     public void Page_Load() { 	if (User.IsInRole("Admin")){ 		Response.Write ("You are an Administrator");} 	else { 		Response.Write ("You do not have any role assigned");}     }    </script> 					
  2. 기존 응용 프로그램에 Sample.aspx를 저장합니다 해당 페이지로 이동하여 테스트합니다.
참조
ASP.NET 보안 기능에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
306590 INFO: ASP.NET 보안 개요
ASP.NET Security Overview 역할 기반 보안에 대한 자세한 내용은 다음 .NET Framework SDK(Software Development Kit) 설명서를 참조하십시오. 다음 IBuySpy 개발자 솔루션 웹 사이트의 문서와 소스 코드에서 역할 기반 보안에 대한 정보를 참조할 수 있습니다.
IBuySpy 개발자 솔루션(영문)
http://www.ibuyspy.com
이 문서에 포함된 다른 공급업체의 연락처 정보는 기술 지원을 받는 데 도움을 주기 위한 것입니다. 이 연락처 정보는 예고 없이 변경될 수 있습니다. Microsoft는 이러한 다른 공급업체 연락처 정보의 정확성을 보증하지 않습니다.





Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
속성

문서 ID: 311495 - 마지막 검토: 07/11/2005 05:59:14 - 수정: 3.6

Microsoft ASP.NET 1.0, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft ASP.NET 1.1, Microsoft Visual C# .NET 2003 Standard Edition

  • kbhowtomaster kbsecurity KB311495
피드백