Visual C# .NET kullanarak uygulamanızı ASP.NET'in Form tabanlı kimlik doğrulama ile gerçekleştir role-Based Security nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 311495 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, Visual C#. NET'i kullanarak form tabanlı kimlik doğrulaması gerçekleştiren bir ASP.NET uygulamasının rol tabanlı güvenliğin nasıl


Gereksinimler

Bu makalede, zaten form tabanlı kimlik doğrulaması üzerinde bir ASP.NET uygulamasının uygulanan olduğunu varsayar.
301240ASP.NET uygulamanızı, C#. NET'i kullanarak, form tabanlı kimlik doğrulama gerçekleştir nasıl

Kimlik doğrulama kullanıcıya roller atama

Formlar kullanıcıları genelde Microsoft Windows kullanıcıları olmadığınızdan, varsayılan olarak ilişkili herhangi bir rol yok. Bu nedenle, kodunuz rol tabanlı güvenliği uygulamak için kullanıcının kimliği için kimlik doğrulama kullanıcı rollerini iliştirmeniz gerekir.

Bu bölümdeki örnek kod, uygulamanızda rol tabanlı güvenliği uygulamak için kullanın. Bu örnek kod, kimlik doğrulama kullanıcı için belirlenmiş roller atar. Nasıl, kullanıcı verilerinizi depoladığınız bağlı olarak, kimliği doğrulanmış bir kullanıcı için rolleri almak ve bu rollerin izlemek için örnek kodda gösterildiği kimlik doğrulaması gerçekleştiren kullanıcının kimliğini eklemek için kendi yöntemi uygulayabilirsiniz.

Varolan Application_AuthenticateRequest olay işleyicisinde kimlik doğrulama kullanıcı rollerini atamak için uygulamanız Global.asax dosyasında aşağıdaki kodu kopyalayın:
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);
      }
   }
}
				

Kullanıcı rollerini denetleyin ve bilgisayarınızı .aspx sayfaları program mantığı gerçekleştir

Aşağıdaki adımlarda, uygulamak ve ait olduğu kimlik doğrulama kullanıcı rollerine göre program mantığı kontrol gösterilmektedir.
  1. Sample.aspx adlı bir .aspx yeni sayfayı oluşturun ve aşağıdaki kodu yapıştırın:
    <%@ 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 varolan uygulamanızda kaydedin. Sınamak için sayfasına gidin.

Referanslar

ASP.NET'in güvenlik özellikleri hakkında ek bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
306590BILGI: ASP.NET güvenliğine genel bakış
Rol tabanlı güvenlik hakkında daha fazla bilgi için aşağıdaki .NET Framework Software Development Kit'e (SDK için) başvuru belgeleri:
Rol tabanlı güvenlik
http://msdn2.microsoft.com/en-us/library/52kd59t0(vs.71).aspx
Belgeleri ve kaynak kodu aşağıdaki MSDN Web sitesinde ayrıca, rol tabanlı güvenlik hakkında bilgiler de içerir:
IBuySpy geliştirici çözümleri
http://msdn2.microsoft.com/en-us/library/ms978480.aspx
Microsoft, teknik destek bulmanıza yardımcı olmak üzere üçüncü taraf iletişim bilgilerini sağlamaktadır. Bu bilgiler haber verilmeden değişebilir. Microsoft bu üçüncü taraf iletişim bilgilerinin doğruluğunu garanti etmez.

Özellikler

Makale numarası: 311495 - Last Review: 19 Nisan 2007 Perşembe - Gözden geçirme: 3.9
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual C# .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowtomaster kbsecurity KB311495 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:311495

Geri Bildirim Ver

 

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