วิธีการรักษาความปลอดภัยโปรแกรมประยุกต์ ASP.NET ที่ โดยใช้การรักษาความปลอดภัยของ Windows

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 315736 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

asp.net สามารถใช้ร่วมกับ Microsoft ข้อมูลบริการทางอินเทอร์เน็ต (IIS) เพื่อให้ผู้ใช้เว็บที่ขึ้นอยู่กับการ Microsoft Windows 2000 หรือ Windows Server 2003 ผู้ใช้บัญชีข้อมูลการรับรองความถูกต้อง โปรแกรมการดำเนินการของ ASP.NET สามารถยังสามารถกำหนดค่า impersonate ผู้ใช้เว็บ หรือใช้ข้อมูลเฉพาะของตนเอง Windows เมื่อคุณเข้าถึงทรัพยากรต่าง ๆ เช่นฐานข้อมูลหรือแฟ้ม


ความต้องการ

คุณต้องการฮาร์ดแวร์ต่อไปนี้ ซอฟต์แวร์ และโครงสร้างพื้นฐานของเครือข่ายการดำเนินการตามขั้นตอนในบทความนี้:
  • windows 2000 Server Service Pack 2
  • iis 5.0
  • windows Server 2003 กับ IIS 6.0
  • Microsoft Internet Explorer 6.0
  • Microsoft Visual Studio .NET
คุณยังต้องประสบการณ์กับข้อความต่อไปนี้:
  • asp.net พัฒนากับ Visual Basic .NET
  • การจัดการ iis
  • การจัดการบัญชีผู้ใช้ windows 2000

วิธีการพัฒนาเว็บไซต์

ในขั้นตอนนี้ คุณต้องการสร้างเว็บ ASP.NET ที่ธรรมดาแอพลิเคชัน ที่ปลอดภัย โดยใช้การรับรองความถูกต้องของ Windows
  1. เริ่มการทำงานของ Visual Studio .NET และสร้างโปรแกรมประยุกต์เว็บ ASP.NET Visual Basic ที่ใหม่ที่ชื่อว่า "WindowsSite"
  2. ลากตัวควบคุมป้ายชื่อจากกล่องเครื่องมือลงบนแบบฟอร์มเว็บ WebForm1.aspx และจากนั้น ตั้งค่าคุณสมบัติของ ID การauthUserPrincipalLabel.
  3. ลากตัวควบคุมป้ายชื่อที่สองจากกล่องเครื่องมือลงบนแบบฟอร์มเว็บ WebForm1.aspx และจากนั้น ตั้งค่าคุณสมบัติของ ID การaspPrincipalLabel.
  4. คลิกสองครั้งWebForm1.aspxการดูหน้าต่างรหัส แล้ว เพิ่มต่อไปนี้นำเข้าคำสั่งอยู่เหนือการประกาศคลาส:
    Imports System.Security
    						
    เพิ่มรหัสต่อไปนี้เพื่อดำเนินการเหตุการณ์ Page_Load:
    Dim authUserName As String
    Dim aspUserName As String
    authUserName = User.Identity.Name
    aspUserName = Principal.WindowsIdentity.GetCurrent.Name
    authUserPrincipalLabel.Text = "You are: " & authUserName
    aspPrincipalLabel.Text = "This page runs as: " & aspUserName
    					
  5. ดูแฟ้ม Web.config ของโครงการ แล้ว ค้นหานี้รับรองความถูกต้ององค์ประกอบ ตรวจสอบว่า คุณลักษณะโหมดที่มีค่าเป็นWindows.
  6. สร้าง และบันทึกโครงการ
  7. เรียกใช้โครงการ และยืนยันว่า เพจที่จะแสดงอยู่กับข้อความต่อไปนี้:
    • ใน Windows 2000
      คุณกำลัง:
      เพจนี้ทำงานเป็น:DomainOrServer\aspnet
    • ใน Windows Server 2003
      คุณกำลัง:
      เพจนี้ทำงานเป็น:DomainOrServerบริการ \network
    หมายเหตุ:ชื่อผู้ใช้ของคุณจะไม่แสดงเนื่องจากมีการรับรองความถูกคุณได้ไม่ถูกต้อง โดย IIS การเข้าถึงแบบไม่ระบุชื่อยังคงเปิดใช้งาน
  8. ปิด Internet Explorer หยุดการโครงการ

วิธีการปิดการใช้งานการเข้าถึงแบบไม่ระบุชื่อ

ในขั้นตอนนี้ คุณจะกำหนดค่า IIS ให้ใช้กระบวนการรับรองความถูกต้องรวมของ Windows สำหรับไซต์ WindowsSite
  1. ย่อเล็กสุด Visual Studio และจะ เริ่มต้นบริการทางอินเทอร์เน็ต'ตัวจัดการ'จากกลุ่มโปรแกรมเครื่องมือการจัดการ
  2. ขยายเซิร์ฟเวอร์ของคุณและเว็บไซต์ของเริ่มต้น การคลิกขวาWindowsSiteไซต์ แล้วคลิกคุณสมบัติ.
  3. ในการความปลอดภัยของไดเรกทอรีแท็บในนั้นคุณสมบัติ WindowsSiteกล่องโต้ตอบ คลิกการแก้ไขปุ่มในส่วน "แบบไม่ระบุชื่อเข้าใช้งานและการรับรองความถูกต้องควบคุม"
  4. คลิกเพื่อยกเลิกเลือกนั้นการเข้าถึงแบบไม่ระบุชื่อกล่องกาเครื่องหมาย ตรวจสอบว่า การพิสูจน์ตัวจริงของ Windows แบบรวมกล่องกาเครื่องหมายเลือก และจากนั้น คลิกตกลง.
  5. คลิกตกลงเมื่อต้องการปิดการคุณสมบัติ WindowsSiteกล่องโต้ตอบ
  6. สลับกลับไป Visual Studio และเรียกใช้โครงการ ยืนยันว่า เพจที่จะแสดงอยู่กับข้อความต่อไปนี้:
    • ใน Windows 2000
      คุณกำลัง:ชื่อผู้ใช้ Windows ของคุณ
      เพจนี้ทำงานเป็น:DomainOrServer\aspnet
    • ใน Windows Server 2003
      คุณกำลัง:ชื่อผู้ใช้ Windows ของคุณ
      เพจนี้ทำงานเป็น:DomainOrServerบริการ \network
    หมายเหตุ:มีการพิสูจน์คุณได้รับตัวผ่านบัญชีผู้ใช้ Windows ของคุณ ถ้าคุณจะไม่ถูกสู่ Windows คุณจะได้รับพร้อมท์สำหรับ Windows ชื่อผู้ใช้และรหัสผ่าน
  7. ปิด Internet Explorer หยุดการโครงการ

การอนุญาต

ใน ASP.NET คือคุณสามารถอนุญาตให้มีการรับรองความถูกต้องไปยังโปรแกรมประยุกต์เมื่อคุณทำการตั้งค่าเพิ่มเติมภายใน Web.config พร้อมใช้งานแฟ้ม คุณสามารถอนุญาตให้ผู้ใช้บางอย่างหรือการกำหนดกลุ่มการเข้าถึงการตั้งค่าเพิ่มเติมเหล่านี้ ตัวอย่างต่อไปนี้อธิบายความสามารถในการทำงานนี้ เมื่อต้องการอนุญาตให้เข้าถึงผู้ใช้ทั้งหมดที่พบใน กลุ่มของ Windows NT ซึ่งเรียกว่า "ผู้จัดการฝ่ายจัด" ใช้รหัสดังต่อไปนี้:
<configuration>
     <system.web>
       <authorization>
         <allow roles="domainname\Managers" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
เมื่อต้องการอนุญาตให้เข้าถึงเฉพาะผู้ใช้บาง ใช้รหัสดังต่อไปนี้:
<configuration>
     <system.web>
       <authorization>
         <allow users="domainname\user1,domainname\user2,domainname\user3" />
         <deny users="*" />
       </authorization>
     </system.web>
   </configuration>
				
หมายเหตุ:คุณสามารถอ้างอิงหลายบทบาทหรือผู้ใช้เมื่อคุณใช้รายการที่คั่นด้วยจุลภาค


วิธีการเปิดใช้งานการเลียนแบบ

ในขั้นตอนนี้ คุณจะกำหนดค่าแอพลิเคชัน WindowsSite impersonate ผู้ใช้ของ Windows ที่กำลังเข้าถึงได้
  1. ใน Visual Studio ดูแฟ้ม Web.config สำหรับโครงการ WindowsSite
  2. เพิ่มองค์ประกอบต่อไปนี้หลังจากรับรองความถูกต้ององค์ประกอบ:
    <identity impersonate = "true" />
    					
  3. บันทึก Web.config
  4. เรียกใช้โครงการ ยืนยันว่า เพจที่จะแสดงอยู่กับข้อความต่อไปนี้ (โปรดสังเกตว่า โปรแกรมดำเนินการ ASP.NET จะใช้ข้อมูลประจำตัวของคุณ Windows เข้าถึงทรัพยากรในนามของคุณ):
    คุณกำลัง:ชื่อผู้ใช้ Windows ของคุณ
    เพจนี้ทำงานเป็น:ชื่อผู้ใช้ Windows ของคุณ
  5. ปิด Internet Explorer หยุดการโครงการ

วิธีการกำหนดหลักการแบบกำหนดเอง

ในขั้นตอนนี้ คุณจะกำหนดโปรแกรมประยุกต์ WindowsSite เพื่อใช้การรักษาความปลอดภัยที่กำหนดเอง:
  1. เริ่มลักษณะการทำงานในการจัดการคอมพิวเตอร์จากกลุ่มโปรแกรมเครื่องมือการจัดการ สร้างบัญชีผู้ใช้ Windows 2000 ใหม่ซึ่งชื่อ "WindowsSite ด้วยรหัสผ่านของ"รหัสผ่าน" (โปรดสังเกตว่า เซิร์ฟเวอร์ของคุณมีตัวควบคุมโดเมน และใช้เครื่องมือผู้ใช้ของไดเรกทอรีที่ใช้งานอยู่และคอมพิวเตอร์)
  2. คลิกเพื่อยกเลิกเลือกนั้นผู้ใช้ต้องเปลี่ยนรหัสผ่านเมื่อเข้าสู่ระบบถัดไปกล่องกาเครื่องหมายหมายเหตุ:หน่วยที่กำหนดเองที่คุณเลือกต้องมีสิทธิ์ที่ outlined ในบทความต่อไปนี้ของ Knowledge Base:
    317012ข้อมูล: กระบวนการและข้อมูลเฉพาะตัวของการร้องขอใน ASP.NET
  3. เมื่อมีการสร้างบัญชี WindowsSite ปิดเครื่องมือการดูแลที่คุณใช้สร้างดังกล่าว
  4. ใน Visual Studio ดูแฟ้ม Web.config สำหรับโครงการ WindowsSite
  5. แก้ไขการรหัสประจำตัวองค์ประกอบในการอ่านเป็นดังนี้:
    identity impersonate = "true"
           userName = "DomainOrServerName\WindowsSite"
           password = "password"/>
    
    โดย:DomainOrServerNameis either the name of your Windows 2000 or Windows Server 2003 domain (in a domain environment) or of your computer (in a workgroup environment).
  6. Save Web.config.
  7. เรียกใช้โครงการ Confirm that the page is displayed with the following message:
    You are:Your Windows user name
    This page runs as:DomainOrServerName\WindowsSite
    หมายเหตุ:Aspnet_wp.exe will use the Windows credentials that you specified to access resources on your behalf.
  8. Quit Internet Explorer to stop the project.
หมายเหตุ:The identity of the process that impersonates a specific user on a thread must have theAct as part of the operating systemprivilege.
  • On Windows 2000, by default, the Aspnet_wp.exe process runs under a computer account that is named ASPNET.
  • On Windows Server 2003, by default, the Aspnet_wp.exe process runs under a computer account that is named NetworkService. However, this account does not have the correct privileges to impersonate a specific user. You receive an error message if you try to impersonate a specific user.
To work around this problem, use one of the following methods:
  • Grant theAct as part of the operating systemprivilege to the ASPNET account (the least privileged account).

    หมายเหตุ:Although you can use this method to work around the problem, Microsoft does not recommend this method.
  • เปลี่ยนบัญชีผู้ใช้ที่กระบวนการ Aspnet_wp.exe รันภายใต้ใน<processmodel>ส่วนกำหนดค่าของแฟ้ม Machine.config</processmodel>บัญชีระบบ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการ ASPNET แวะไปที่เว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
.aspx http://msdn2.microsoft.com/en-us/library/aa291339 (VS.71)

การแก้ไขปัญหา

ความปลอดภัยของ windows ใน ASP.NET เว็บไซต์มีสามารถอีกขั้นสูง (และ complicated) โดยใช้สิทธิ์ของแฟ้มแบบ NTFS ถ้าบัญชี Windows ของคุณไม่มีสิทธิ์ในการอ่านเพจที่มี ASP.NET Web, IIS จะแสดงพร้อมท์คุณสำหรับการสำรองข้อมูลประจำตัวของ Windows ในทำนองเดียวกัน ถ้าเพจที่มี ASP.NET พยายามเข้าถึงแฟ้มที่รักษาความปลอดภัยที่ใช้ โดยโปรแกรมการดำเนินการของ ASP.NET ไม่มีการเข้าถึง คุณจะได้รับพร้อมท์สำหรับข้อมูลประจำตัวอื่น ๆ ระบบไฟล์ NTFS สิทธิ์เป็นวิธีที่มีผลบังคับใช้การควบคุมการเข้าถึง subsections ของเว็บไซต์

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้การพิสูจน์ตัวจริงของ Windows ใน ASP.NET เว็บไซต์มี ให้ดูที่หัวข้อ "ความปลอดภัย" โปรแกรมประยุกต์ ASP.NET เว็บในเอกสารประกอบของ.NET Framework

นอกจากนี้ ดูบทความ "แนะรับรองความถูกต้องใน ASP.NET:.NET ความปลอดภัยนำ" MSDN เว็บไซต์ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/ms978378.aspx

คุณสมบัติ

หมายเลขบทความ (Article ID): 315736 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
Keywords: 
kbconfig kbhowtomaster kbinfo kbsecurity kbweb kbmt KB315736 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:315736

ให้ข้อเสนอแนะ

 

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