Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Twoja przeglądarka nie jest obsługiwana

Aby używać tej witryny, musisz zaktualizować przeglądarkę.

Zaktualizuj przeglądarkę do najnowszej wersji programu Internet Explorer

Jak zaimplementować zabezpieczenia oparte na rolach z uwierzytelnianiem opartym na formularzach w aplikacji programu ASP.NET przy użyciu programu Visual C# .NET

Ten artykuł został opublikowany wcześniej pod numerem PL311495
Wersja tego artykułu dla programu Microsoft Visual Basic .NET: 306238.

Ten artykuł dotyczy następujących obszarów nazw biblioteki klas systemu Microsoft .NET Framework:
  • System.Web.Security
  • System.Security.Principal

W TYM ZADANIU

Streszczenie
W tym artykule opisano, jak zaimplementować zabezpieczenia oparte na rolach w aplikacji programu ASP.NET z uwierzytelnianiem opartym na formularzach przy użyciu programu Visual C# .NET.


Wymagania

W tym artykule zakłada się, że w aplikacji programu ASP.NET zostało już zaimplementowane uwierzytelnianie oparte na formularzach.
301240 How To Implement Forms-Based Authentication in Your ASP.NET Application Using C# .NET

Przypisywanie ról do użytkownika uwierzytelniającego się

Ponieważ użytkownicy formularzy zwykle nie są użytkownikami systemu Microsoft Windows, domyślnie nie są skojarzeni z żadnymi rolami. W związku z tym, aby można było w kodzie zaimplementować zabezpieczenia oparte na rolach, należy przypisać do tej tożsamości użytkownika role użytkownika uwierzytelniającego.

W celu implementacji w aplikacji zabezpieczeń opartych na rolach należy użyć przykładowego kodu zawartego w tej sekcji. Kod ten przypisuje wstępnie określone role do użytkownika uwierzytelniającego się. W zależności od tego, jak są magazynowane dane użytkowników, można zastosować inną metodę w celu pobrania ról dla użytkownika uwierzytelnionego i przypisać te role do tożsamości użytkownika uwierzytelniającego, co jest pokazane w następnym kodzie.

Skopiuj następujący kod z pliku Global.asax do istniejącej aplikacji, aby przypisać role do użytkownika uwierzytelniającego się w procedurze obsługi zdarzeń 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);      }   }}				

Sprawdzanie ról użytkowników i implementacja schematu logicznego programu na stronach ASPX

Poniższe kroki umożliwiają implementację i kontrolę schematu logicznego programu w oparciu o role, do których należy użytkownik uwierzytelniający się.
  1. Utwórz nową stronę .aspx o nazwie Sample.aspx i wklej do niej następujący kod:
    <%@ Page Language="C#" %><%@ Import Namespace="System.Web" %>  <script runat=server>    public void Page_Load() {	if (User.IsInRole("Admin")){		Response.Write ("Jesteś administratorem");}	else {		Response.Write ("Nie masz przypisanej żadnej roli");}    }  </script>					
  2. Zapisz stronę Sample.aspx w istniejącej aplikacji. Przejdź do strony, aby ją wypróbować.
Materiały referencyjne
Aby uzyskać dodatkowe informacje o zabezpieczeniach programu ASP.NET, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
306590 INFO: ASP.NET Security Overview
Aby uzyskać więcej informacji o zabezpieczeniach opartych na rolach, zobacz następujący temat w dokumentacji zestawu Microsoft .NET Framework Software Development Kit (SDK):Informacje o zabezpieczeniach opartych na rolach można znaleźć również w dokumentacji i kodzie źródłowym w następującej witrynie IBuySpy Developer Solutions w sieci Web:
IBuySpy Developer Solutions
http://www.ibuyspy.com
Firma Microsoft podaje informacje o sposobach kontaktu z innymi firmami, aby ułatwić uzyskanie niezbędnej pomocy technicznej. Informacje te mogą się zmienić bez powiadomienia. Firma Microsoft nie gwarantuje dokładności informacji dotyczących innych firm.

Właściwości

Identyfikator artykułu: 311495 — ostatni przegląd: 07/11/2005 06:12:00 — zmiana: 3.7

  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft ASP.NET 1.0
  • kbhowtomaster kbsecurity KB311495
Opinia
cript type="text/javascript" src="https://c.microsoft.com/ms.js"> &t=">