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

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 311495 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Ten artykuł został opublikowany wcześniej pod numerem PL311495
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

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):
Role-Based Security
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconrole-basedsecurity.asp
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

Numer ID artykułu: 311495 - Ostatnia weryfikacja: 11 lipca 2005 - Weryfikacja: 3.7
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft ASP.NET 1.0
Słowa kluczowe: 
kbhowtomaster kbsecurity KB311495

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com