ตัวประมวลผลและการร้องขอใน ASP.NET

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

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

สรุป

บทความนี้สรุปสิทธิการเข้าถึงที่ได้รับในบัญชีของกระบวนการเริ่มต้น และอธิบายสถานการณ์บางอย่างที่สิทธิ์เหล่านี้อาจถูกจำกัดเกินไปสำหรับงานที่แน่นอน

ในการติดตั้งเริ่มต้นของ ASP.NET บน Microsoft Windows 2000 และ Microsoft Windows XP, ASP.NET เว็บที่ทำงานรหัสแอพลิเคชันในกระบวนการของผู้ปฏิบัติงาน การระบุของกระบวนการนี้ใช้บัญชีภายในที่ตั้งชื่อบัญชี ASPNET (โดยที่ชื่อเต็มคือ บัญชี aspnet_wp) โดยค่าเริ่มต้น ในรุ่นเบต้าของ ASP.NET รหัสประจำตัวประมวลผลเป็นระบบ ซึ่งก็คือมีประสิทธิภาพ การจัดการบัญชีผู้ใช้ที่มีสิทธิการเข้าถึงจำนวนมากบนคอมพิวเตอร์ เมื่อต้องการให้การติดตั้งเริ่มต้น privileged น้อยกว่า ASP.NET รุ่นวางจำหน่ายใช้ weaker ASPNET บัญชี ซึ่งเหมาะสมสำหรับโปรแกรมประยุกต์เว็บส่วนใหญ่

หมายเหตุ:โดยค่าเริ่มต้น หากคุณใช้ Microsoft ข้อมูลบริการทางอินเทอร์เน็ต (IIS) 6.0 โปรแกรมประยุกต์ ASP.NET เว็บของคุณจะเรียกใช้ในบริบทการรักษาความปลอดภัยของบัญชี NetworkService

ข้อมูลเพิ่มเติม

ข้อมูลเฉพาะตัวของขั้นตอนการตั้งค่าคอนฟิก

คุณสามารถกำหนดค่าข้อมูลเฉพาะตัวของขั้นตอนในการ<processmodel></processmodel>ส่วนของแฟ้ม Machine.config ในไดเรกทอรีย่อยจัดรูปแบบของไดเรกทอรีรากการติดตั้ง กระบวนการชื่อผู้ใช้และรหัสผ่าน:แอตทริบิวต์ควบคุมลักษณะเฉพาะของกระบวนการ ค่าเริ่มต้นสำหรับแอตทริบิวต์เหล่านี้เป็นดังนี้:
<processModel  userName="machine" password="AutoGenerate" />
				
กระบวนการMachine :และAutoGenerateค่าแนะนำผู้ใช้ ASP.NET จะใช้บัญชี ASPNET ภายใน และ การใช้รหัสผ่านที่รัดกุม cryptographically สุ่มที่เก็บไว้ในในระบบความปลอดภัยผู้ให้บริการออก (LSA) สำหรับบัญชีผู้ใช้นั้น

ถ้าคุณต้องการใช้กระบวนการ ที่มีการให้สิทธิการเข้าถึงเพิ่มเติม คุณสามารถตั้งค่านี้ชื่อผู้ใช้คุณลักษณะการระบบ:ซึ่งทำให้กระบวนการของผู้ปฏิบัติงาน ASP.NET ให้ทำงานกับข้อมูลเฉพาะตัวเดียวกันเป็นกระบวนการ Inetinfo.exe กระบวนการ Inetinfo.exe โดยค่าเริ่มต้นทำงานเป็นข้อมูลเฉพาะตัวของระบบ เมื่อคุณตั้งค่าคอนฟิกกระบวนการของผู้ปฏิบัติงาน ASP.NET จะใช้ข้อมูลเฉพาะตัวของระบบ กระบวนการของผู้ปฏิบัติงาน ASP.NET สามารถเข้าถึงเกือบทั้งหมดของทรัพยากรในคอมพิวเตอร์ที่ใช้อยู่ บนคอมพิวเตอร์ที่รัน Windows 2000, Windows XP หรือ Microsoft Windows Server 2003 บัญชีระบบยังมีข้อมูลประจำตัวของเครือข่าย และสามารถเข้าถึงเครือข่ายทรัพยากรเป็นบัญชีของเครื่องจักร การตั้งค่ากระบวนการเรียกใช้เป็นข้อมูลเฉพาะตัวของระบบ เปลี่ยนแปลงนั้นชื่อผู้ใช้คุณลักษณะในการ<processmodel></processmodel>ส่วนต่อไปนี้:
<processModel  userName="SYSTEM" password="AutoGenerate" />
				

สิทธิ์ในการเริ่มต้นสำหรับบัญชี ASPNET

บัญชี ASPNET ถูกสร้างเป็นบัญชีภายในเครื่องเมื่อคุณติดตั้ง ASP.NET บัญชี ASPNET เท่านั้นเป็นสมาชิกของกลุ่มผู้ใช้บนคอมพิวเตอร์เครื่องนั้น ดังนั้น ASPNET บัญชีมีสิทธิ์ที่เกี่ยวข้องกับกลุ่มผู้ใช้ และสามารถเข้าถึงทรัพยากรที่กลุ่มผู้ใช้ที่ได้รับการเข้าถึง ทั้งหมด บัญชี ASPNET สืบทอดสิทธิ์ต่อไปนี้ของผู้ใช้จากผู้ใช้ในกลุ่ม
ยุบตารางนี้ขยายตารางนี้
ผู้ใช้ขวาคำอธิบาย
SeChangeNotifyPrivilegeข้ามการตรวจสอบ traverse
SeUndockPrivilegeเอาคอมพิวเตอร์จากสถานีที่ชุดเชื่อมต่ออุปกรณ์
SeInteractiveLogonRightล็อกออนเฉพาะ
SeNetworkLogonRightเข้าถึงคอมพิวเตอร์เครื่องนี้จากเครือข่าย
นอกเหนือจากการสิทธิ์เหล่านี้ บัญชี ASPNET ยังได้รับสิทธิ์ต่อไปนี้เป็นค่าเริ่มต้น:
ยุบตารางนี้ขยายตารางนี้
ผู้ใช้ขวาคำอธิบาย
SeServiceLogonRightเข้าสู่ระบบเป็นการบริการ
SeBatchLogonRightเข้าสู่ระบบเป็นชุดงาน
SeDenyInteractiveLogonRightปฏิเสธล็อกบนเครื่อง
asp.net ระบุ ให้สิทธิการเข้าถึงแบบเต็มสำหรับ ASPNET บัญชีไปยังโฟลเดอร์ต่อไปนี้:
  • แฟ้มชั่วคราวของ ASP.NET
  • %windir%\temp
นอกจากนี้ ASP.NET ให้สิทธิ์ในการอ่านการไดเรกทอรีการติดตั้ง Microsoft .NET Framework

รายการต่อไปนี้สรุปการเข้าถึงตัวควบคุมรายการ (acl) ที่จำเป็นสำหรับบัญชี ASPNET การติดตั้งเริ่มต้นของ Windows 2000 และ Framework Microsoft .NET รวม acl เหล่านี้
  • ตำแหน่ง:: %installroot%\ASP.NET แฟ้มชั่วคราว
    ชนิดการเข้าถึง: อ่าน/เขียนบนโฟลเดอร์ และแสดงรายการเนื้อหาโฟลเดอร์บนโฟลเดอร์รากของไดรฟ์
    บัญชี: การประมวลผลบัญชี และกำหนดค่าบัญชีการเลียนแบบ
    คำอธิบาย:: ตำแหน่งที่ตั้งสำหรับการคอมไพล์แบบไดนามิกของ ASP.NET นี้ได้ beneath ตำแหน่งที่ตั้งนี้ รหัสโปรแกรมประยุกต์ถูกสร้างขึ้นในไดเรกทอรีแบ่งแยกสำหรับแต่ละโปรแกรมประยุกต์ คุณสามารถใช้ได้tempDirคุณลักษณะในการ<compilation></compilation>ส่วนกำหนดค่าตำแหน่งที่ตั้งหลัก

    หมายเหตุ:ถ้าคุณเปลี่ยน machine.config จะบันทึกแฟ้มชั่วคราวของ ASP.NET ในตำแหน่งที่ตั้งอื่น บัญชี ASPNET ต้องได้แสดงรายการเนื้อหาโฟลเดอร์ชนิดการเข้าถึงในระดับรากของไดรฟ์
  • ตำแหน่ง:: %windir%\temp
    ชนิดการเข้าถึง: อ่าน/เขียน
    บัญชี: บัญชีดำเนิน
    คำอธิบาย:: ตำแหน่งที่ตั้งเว็บ Extensible Markup ภาษา (XML) บริการใช้ในการสร้าง serialization proxies นี้ได้
  • ตำแหน่ง:: ไดเรกตอรีของโปรแกรมประยุกต์
    ชนิดการเข้าถึง: อ่าน
    บัญชี: การประมวลผลบัญชี และกำหนดค่าบัญชีการเลียนแบบ
    คำอธิบาย:: นี่คือตำแหน่งที่ตั้งสำหรับเนื้อหาของแอพลิเคชัน (เฉพาะการอ่านเข้าจำเป็น)
    สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft::
    http://msdn2.microsoft.com/en-us/library/aa302396.aspx
  • ตำแหน่ง:: รากเว็บไซต์ (%systemdrive%\inetpub\wwwroot หรือเส้นทางที่เว็บไซต์เริ่มต้นชี้ไป)
    ชนิดการเข้าถึง: อ่าน
    บัญชี: การประมวลผลบัญชี และกำหนดค่าบัญชีการเลียนแบบ
    คำอธิบาย:: ASP.NET พยายามที่จะอ่านแฟ้มการกำหนดค่า และตรวจสอบการเปลี่ยนแปลงเวลาไดรฟ์: \inetpub\wwwroot\web.config
  • ตำแหน่ง:: ลำดับชั้นของ% installroot %
    ชนิดการเข้าถึง: อ่าน
    บัญชี: การประมวลผลบัญชี และกำหนดค่าบัญชีการเลียนแบบ
    คำอธิบาย:: ASP.NET ต้องสามารถเข้าถึงแอสเซมบลี.NET Framework บนแฟ้ม Machine.config (ในไดเรกทอรีที่ \Config ย่อยภายใต้ installroot %%)
  • ตำแหน่ง:: %windir%\assembly
    ชนิดการเข้าถึง: อ่าน
    บัญชี: การประมวลผลบัญชี หรือการกำหนดค่าบัญชีการเลียนแบบ
    คำอธิบาย:: นี่คือการแคชของแอสเซมบลีส่วนกลางที่ประกอบด้วยแอสเซมบลีที่ใช้ร่วมกัน
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นคอมพิวเตอร์ที่ใช้ acl สำหรับ Windows 2000 การอ้างอิง "ตั้งเป็นค่าเริ่มต้นการเข้าถึงตัวควบคุมค่าใน Windows 2000" ในการอ้างอิง:ส่วน

หมายเหตุ:โดยค่าเริ่มต้น บัญชี ASPNET โดยทั่วไปจะไม่มีสิทธิ์การเข้าถึงที่ถูกต้องการทำงานที่อธิบายไว้ในบทความนี้บางอย่าง

การเข้าถึงทรัพยากร

ในส่วนต่อไปนี้อธิบายวิธีการใช้ทรัพยากรต่าง ๆ You can access many of these resources locally if you enable impersonation and if you grant the impersonated account access to the resource. However, impersonation often does not work when you try to access remote resources unless the application uses an authentication mechanism that can be delegated, such as Kerberos or Basic authentication. You can also use COM+ services to access resources, which is outlined in theRunning code with a fixed identityส่วน

Using file resources

To enable an application that is running with the ASPNET account to write to files, you can impersonate a specific user in code before writting to files, or you can grant Write permissions for the ASPNET account. You can grant Write permissions for an individual file or for directory hierarchies.

สิ่งสำคัญเมื่อคุณอนุญาตให้สิทธิ์การเขียน สำหรับแฟ้มแต่ละการ หรือ สำหรับลำดับชั้นไดเรกทอรีไปยังบัญชี ASPNET โปรแกรมประยุกต์เว็บ ASP.NET ทั้งหมดที่กำลังทำงานภายใต้บัญชี ASPNET บนเซิร์ฟเวอร์ ได้นอกจากนี้ยังสามารถเขียนไปยังแฟ้มนี้หรือลำดับชั้นของไดเรกทอรีสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเลียนแบบผู้ใช้ที่ระบุในรหัส คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
306158วิธีการใช้การเลียนแบบในโปรแกรมประยุกต์ ASP.NET
เมื่อต้องการเปลี่ยนการเข้าถึงรายการของตัวควบคุมสำหรับแฟ้ม ทำตามขั้นตอนเหล่านี้:
  1. เปิด Windows Explorer
  2. เลือกแฟ้มหรือโฟลเดอร์ที่คุณต้องการเปลี่ยนแปลงสิทธิ์
  3. ในการแฟ้ม:เมนู คลิกคุณสมบัติ.
  4. คลิกการการรักษาความปลอดภัยแท็บคลิกเพื่อเลือกช่องทำเครื่องหมายสำหรับ ACL สิทธิ์
คุณยังสามารถใช้สคริปต์หรือเครื่องมือบรรทัดคำสั่ง Cacls.exe (ซึ่งมีอยู่ใน Windows) เพื่อเปลี่ยน ACL สำหรับแฟ้มได้

การใช้ 1.1 ASP.NET<drivename></drivename>\Documents และ Settings\<machinename></machinename>โฟลเดอร์ \ASPNET กระบวนการจัดเก็บแฟ้ม (ที่ใด<drivename></drivename>คือไดรฟ์บนคอมพิวเตอร์ของคุณซึ่งมีการติดตั้ง ASP.NET และ<machinename></machinename>คือชื่อของคอมพิวเตอร์ของคุณ)

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

ด้วยการเลียนแบบ คุณเรียกใช้ในบริบทการรักษาความปลอดภัยของผู้ใช้ร้องขอ ตามที่ผู้ใช้ authenticated หรือ เป็นผู้ใช้ที่ไม่ระบุชื่อ ใน ASP.NET เลียนแบบเลือกได้ และไม่ได้เปิดใช้งาน โดยค่าเริ่มต้น เมื่อต้องการเปิดใช้งานการเลียนแบบระดับของคอมพิวเตอร์หรือโปรแกรมประยุกต์ เพิ่ม directive การตั้งค่าคอนฟิกต่อไปนี้ในการ<system.web></system.web>ส่วนของ Machine.config หรือแฟ้ม Web.config:
<identity impersonate="true"/>
				

การใช้ฐานข้อมูล

โปรแกรมประยุกต์ที่ใช้การรับรองความถูกต้องของ SQL เพื่อเชื่อมต่อกับฐานข้อมูลไม่ได้รับโดยทั่วไปจาก โดยการสลับไปบัญชี ASPNET นี้เป็นจริงสำหรับโปรแกรมประยุกต์ที่ใช้การพิสูจน์ตัวจริงและการเลียนแบบ อย่างไรก็ตาม ถ้าโปรแกรมประยุกต์จะเลียนไม่ และมีการใช้งาน Windows ตรวจสอบ คุณต้องอนุญาตให้เข้าถึงไปยังฐานข้อมูลสำหรับ ASPNET บัญชี

คุณไม่สามารถใช้บัญชี ASPNET เมื่อคุณพยายามรับรองความถูกต้องไปยัง Microsoft SQL Server โดยใช้การรับรองความถูกต้องของ Windows แบบรวมผ่าน pipes ที่มีชื่อ อย่างไรก็ตาม คุณสามารถใช้บัญชี ASPNET สำเร็จ ด้วยการรับรองความถูกต้องของ Windows แบบรวมผ่านส่งควบคุมโพรโทคอล (TCP) ขนส่งได้

ถ้าโปรแกรมประยุกต์ต้องใช้ฐานข้อมูล Microsoft Access บัญชี ASPNET ต้องไม่สามารถเขียนไปยังแฟ้มฐานข้อมูล ผู้ดูแลต้องปรับเปลี่ยนสิทธิ์ของแฟ้มตามลำดับ

การใช้แฟ้มบันทึกเหตุการณ์

โปรแกรมประยุกต์ที่ต้องเขียนไปยังแฟ้มบันทึกเหตุการณ์ของโปรแกรมประยุกต์สามารถทำได้ในขณะที่กำลังเรียกใช้เป็นบัญชี ASPNET ถ้าโปรแกรมประยุกต์ต้องสร้างแฟ้มบันทึกเหตุการณ์ประเภทใหม่ โปรแกรมประยุกต์ต้องสร้างคีย์รีจิสทรีภายใต้การHKEY_LOCAL_MACHINEรีจิสทรีไฮฟ์ ซึ่งบัญชี ASPNET ไม่สามารถทำ

เมื่อต้องการสร้างประเภทในขณะดำเนินการ คุณต้องเปิดใช้เลียนแบบ และคุณต้อง impersonate แอคเคาท์ที่มีสิทธิการเข้าถึงเพิ่มเติม อีกวิธีหนึ่งคือ ผู้ดูแลระบบสามารถสร้างประเภท และโปรแกรมประยุกต์ที่สามารถเขียนในประเภทในขณะดำเนินการ

ถ้าโปรแกรมประยุกต์ที่ต้องสร้างประเภทแฟ้มบันทึกเหตุการณ์ใหม่ สร้างประเภทที่ติดตั้ง หลังจากที่มีสร้างประเภท บัญชี ASPNET สามารถเขียนลงในบันทึกเหตุการณ์ของแอพลิเคชัน

ใช้ System.DirectoryServices และไดเรกทอรีที่ใช้งานอยู่

ถ้าโปรแกรมประยุกต์เว็บต้องเข้าถึง Active Directory โปรแกรมประยุกต์สามารถใช้เลียนแบบในสภาพแวดล้อมที่สนับสนุนการมอบหมาย อีกวิธีหนึ่งคือ แอพลิเคชันสามารถใส่ข้อมูลประจำตัวที่ชัดเจนไปDirectoryEntryตัวสร้างในการSystem.DirectoryServicesnamespace ในการเข้าถึง Active Directory ถ้าแอพลิเคชันที่ใช้ข้อมูลประจำตัวที่ชัดเจน โปรแกรมประยุกต์ที่ควรจัดเก็บข้อมูลประจำตัวอย่างเหมาะสม โดยใช้เทคนิคหนึ่งเช่นรูปของสตริงก่อสร้าง COM + หรือ โดยใช้ Windows เขียนโปรแกรมประยุกต์การป้องกันข้อมูล interfaces (APIs)

การใช้งานเคาน์เตอร์วัดประสิทธิภาพ

บัญชี ASPNET มีสิทธิ์เพียงพอที่ จะเขียนไป (แต่ไม่ สามารถอ่าน) ข้อมูลตัวนับประสิทธิภาพการทำงาน หากโปรแกรมประยุกต์ต้องอ่านข้อมูลตัวนับประสิทธิภาพการทำงาน หรือสร้างประเภทของตัวนับประสิทธิภาพ สิทธิ์ Administrator หรือ Power User จะต้องใช้

ถ้าโปรแกรมประยุกต์ต้องสร้างประสิทธิภาพการทำงานใหม่ตัวนับประเภท สร้างประเภทที่ติดตั้ง หลังจากที่มีสร้างประเภท บัญชี ASPNET สามารถเขียนไปที่ตัวนับ

คุณยังสามารถใช้เครื่องมือการตรวจสอบประสิทธิภาพ (Perfmon.exe) เพื่อตรวจสอบประสิทธิภาพของ ASP.NET counters เมื่อคุณใช้ ASPNET บัญชีได้

ใน Windows 2000 ดำเนินการดังต่อไปนี้:
  1. เรียกใช้ตัวแก้ไขรีจิสทรี
  2. ค้นหารีจิสทรีคีย์ต่อไปนี้:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_1.1.4322\Names
  3. คลิกแท็บความปลอดภัย
  4. เพิ่มรหัสประจำตัวของผู้ปฏิบัติงานประมวลผล ด้วยสิทธิ์ต่อไปนี้:
    • ค่าการสอบถาม
    • กำหนดค่า
    • สร้างคีย์ย่อย
    • ระบุคีย์ย่อย
    • ควบคุมการอ่านการแจ้งให้ทราบ
ใน Windows Server 2003 เพิ่มรหัสประจำตัว IIS_WPG กลุ่ม

เซิร์ฟเวอร์ COM ออกกระบวนการเริ่มต้น

โปรแกรมประยุกต์ที่ต้องการเริ่มต้นเซิร์ฟเวอร์ COM ออกกระบวนขณะเรียกใช้เป็นบัญชี ASPNET โดยเฉพาะอย่างยิ่งสามารถให้สิทธิ์ เปิดใช้สิทธิ์ให้กับบัญชี โดยใช้เครื่องมือ Dcomcnfg.exe

ปัญหาการตรวจแก้จุดบกพร่อง

โดยค่าเริ่มต้น คุณไม่สามารถขั้นตอนในการเรียกการบริการเว็บ XML จากโปรแกรมประยุกต์ไคลเอ็นต์ เมื่อต้องการขั้นตอนในบริการเว็บ XML คุณต้องเพิ่ม ASPNET บัญชีไปยังกลุ่มผู้ใช้ดีบักเกอร์บนคอมพิวเตอร์ที่กำลังเรียกใช้บริการเว็บ XML

เรียกใช้โค้ด identity แบบถาวร

ใน COM + บริการ คุณสามารถเรียกใช้รหัส ด้วยรหัสประจำตัวแบบถาวร คุณสามารถใช้ได้ServicedComponentคลาสของSystem.EnterpriseServicesnamespace เขียนคอมโพเนนต์การจัดการรหัสที่ใช้ COM + บริการ คุณสามารถตัดการทำงาน privileged ในคลาสที่ได้รับมาจากServicedComponentและเรียกใช้คลาสนี้เป็นโปรแกรมแบบประยุกต์ COM + เซิร์ฟเวอร์กับข้อมูลเฉพาะที่กำหนดไว้

การคอมไพล์แฟ้มโค้ด-behind บน UNC ที่ใช้ร่วมกัน

ใน ASP.NET คุณสามารถใช้วิธีการหลายวิธีเพื่อพัฒนาไฟล์แอพลิเคชัน:
  • คุณสามารถใช้ Hypertext Markup Language (HTML) ในแฟ้ม.aspx และจากนั้น คุณสามารถเก็บรหัสสำหรับเพจนี้ในแอสเซมบลี precompiled ในไดเรกทอรีของช่องเก็บ นี่เป็นรุ่น Microsoft Visual Studio .NET
  • คุณสามารถแพ็คเกจรหัสและเนื้อหา HTML ที่อยู่ในแฟ้มต้นฉบับเดียวที่คอมไพล์ในอุปสงค์ทั้งหมด
  • คุณสามารถทำงานนำเสนอ HTML ในแฟ้ม ASP.NET และคอมแล้ว คุณสามารถแบบไดนามิกไพล์รหัสต้นทางที่เกี่ยวข้องใด ๆ สำหรับแฟ้มนั้น โดยใช้การsrcคุณลักษณะในการ<%@ Assembly %>directive
หมายเหตุ:ถ้าแอพลิเคชันเนื้อหาอยู่บนเครือข่ายใช้ร่วมกัน คอมไพเลอร์เริ่มการทำงานในบัญชี ASPNET และไม่มีข้อมูลประจำตัวของเครือข่ายสามารถเข้าถึงแฟ้ม ถ้าคุณใช้เครือข่ายที่ใช้ร่วมกัน คุณไม่สามารถใช้การsrcattribute to point to a file. You must use one of the other methods instead.

Using ASP.NET on a primary or a backup domain controller


By default, if you are using ASP.NET 1.1 on a domain controller, your ASP.NET Web applications will run in the security context of the IWAM_<computername></computername>บัญชี (ที่ใด<computername></computername>is the name of your computer).

สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
315158FIX: ASP.NET does not work with the default ASPNET account on a domain controller
กลับสู่ด้านบน

Reading the IIS metabase

The ASPNET account cannot read the Microsoft Internet Information Services (IIS) metabase. If an application must access metabase settings, you can selectively grant Read access to metabase nodes by using the Metaacl.exe utility.

If an application must use .disco files, which rely on the ability to read the IIS metabase to provide discovery services, you must grant Read access to the metabase for the ASPNET account.

Using System.Management and WMI

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

หมายเหตุ:ใน Windows 2000 without การบริ pack 3 (SP3) หรือในภายหลัง หรือ ใน Windows XP โดยไม่มีบริการ pack 1 (SP1) หรือในภายหลัง โปรแกรมประยุกต์เว็บ ASP.NET ที่เรียกใช้ภายใต้ บัญชี ASPNET อาจไม่ทำงาน และคุณอาจได้รับข้อ "การเข้าถึงปฏิเสธ (0x80041003) " ข้อความแสดงข้อผิดพลาด ปัญหานี้เกิดขึ้นเนื่องจากบัญชีไม่มีสิทธิ์เพียงพอในการเข้าถึงบาง namespaces WMI การแก้ไขปัญหา ติดตั้ง Windows XP SP1 หรือใหม่ กว่า หรือ Windows 2000 SP3 หรือในภายหลัง เมื่อต้องการแก้ไขปัญหา ดำเนินการดังต่อไปนี้:
  1. เปิดคอนโซลการจัดการของ Microsoft Management คอมพิวเตอร์สแน็ปอิน (MMC)
  2. ขยายบริการและโปรแกรมประยุกต์แล้ว เลือกตัวควบคุม wmi.
  3. คลิกขวาตัวควบคุม wmiแล้ว คลิกคุณสมบัติ.
  4. ในการคุณสมบัติตัวควบคุม wmiกล่องโต้ตอบ คลิกการการรักษาความปลอดภัยแท็บ
  5. ขยายรากเลือกcimv2แล้ว คลิกการรักษาความปลอดภัย.
  6. ในการการรักษาความปลอดภัยกล่องโต้ตอบ คลิกขั้นสูง.
  7. ในการการตั้งค่าการควบคุมการเข้าถึงกล่องโต้ตอบ คลิกadd. เลือกlocalMachineName\aspnetแล้ว คลิกตกลง.
  8. ในการรายการสิทธิ์กล่องโต้ตอบกล่อง การตรวจสอบให้แน่ใจว่านำไปใช้กับตั้งค่าเป็นnamespace และ subnamespaces นี้.
  9. ตรวจสอบให้แน่ใจว่าการอนุญาตให้ 'เปิดใช้งานบัญชี'และอนุญาตให้ 'เปิดใช้งานระยะไกล'มีเลือกกล่องกาเครื่องหมาย
  10. คลิกตกลงในกล่องโต้ตอบแต่ละจนกระทั่งคุณกลับไปคุณสมบัติตัวควบคุม wmiกล่องโต้ตอบ
  11. ทำซ้ำขั้นตอนที่ 5 ถึง 10 สำหรับอื่น ๆ namespaces WMI ที่โปรแกรมประยุกต์ของคุณจะเข้าถึง
  12. เริ่มต้น IIS เมื่อต้องการทำเช่นนี้ รันiisresetจากบรรทัดคำสั่ง
โดยค่าเริ่มต้น ASP.NET สร้างรหัสผ่านรัดกุม cryptographically สำหรับบัญชี ASPNET ดังนั้น วิธีแก้ไขปัญหานี้มีความปลอดภัยที่รหัสผ่านของบัญชี ASPNET อยู่ระหว่างเครื่องคอมพิวเตอร์ที่ใช้ร่วมกัน หรือตั้งค่าใหม่เป็นค่าอื่นที่ไม่ใช่ค่าเริ่มต้นไม่

โต้ตอบกับเดสก์ท็อป

เมื่อมีการกำหนดค่าบริการ IIS จะอนุญาตให้มีการโต้ตอบกับเดสก์ท็อป บัญชี ASPNET ไม่มีสิทธิ์ที่ถูกต้องในการเข้าถึงเดสก์ท็อปเนื่องจากการ Discretionary เข้าถึงตัวควบคุมรายการ (DACLs) บนสถานีหน้าต่างการเริ่มต้นและเดสก์ท็อป ผู้ดูแลสามารถเปลี่ยนแปลงเหล่านี้ DACLs หรือคุณสามารถเรียกใช้กระบวนการใช้บัญชีที่มีสิทธิ์ในการเข้าถึงออบเจ็กต์เหล่านี้

การเอาออก ASP.NET

เมื่อคุณลบ ASP.NET บัญชี ASPNET ถูกปิดใช้งาน และยังคงอยู่ในระบบ คุณสามารถลบบัญชี ASPNET ถ้าคุณไม่ต้องการการติดตั้ง ASP.NET

ถ้าคุณติดตั้ง ASP.NET หลังจากที่คุณได้ลบบัญชี ASPNET บัญชี ASPNET ใหม่ถูกสร้างที่มีตัวระบุความปลอดภัยใหม่ (SID) ด้วยเหตุ acl ที่อ้างอิงถึงบัญชี ASPNET ก่อนหน้าไม่ประยุกต์ใช้กับบัญชี ASPNET ใหม่

การใช้ Windows Server 2003

ใช้ ASP.NET 1.1<drivename></drivename>\Documents และ Settings\<machinename></machinename>\ASPNET โฟลเดอร์การเก็บแฟ้มประมวลผล อย่างไรก็ตาม ใน IIS 6.0 และ ASP.NET SP1 คุณอาจเห็นแฟ้มเหล่านี้ในการ<drivename></drivename>: \Documents และข้อมูล Settings\Application User\Local Settings\Default โฟลเดอร์ เส้นทางปรากฏเพื่อ ให้การเปลี่ยนแปลง

หมายเหตุ:<drivename></drivename>เป็นไดรฟ์บนคอมพิวเตอร์ของคุณซึ่งมีการติดตั้ง ASP.NET<machinename></machinename>มีชื่อของคอมพิวเตอร์ของคุณ

โปรไฟล์ผู้ใช้เริ่มต้นถูกใช้ใน Windows Server 2003 ในกรณีนี้ รหัสประจำตัวเริ่มต้นคือ NetworkService คุณสามารถกำหนดค่า NetworkService ระดับพูลโปรแกรมประยุกต์ NetworkService ได้รับสิทธิ์ที่คล้ายกับ ASPNET บัญชี ใช้เฉพาะของ windows Server ASPNET บัญชีสำหรับ IIS โหมดแยกต่างหาก 5.0 ถ้าคุณใช้โหมดแยกต่างหากของกระบวนการของผู้ปฏิบัติงาน ASP.NET ทั้งหมดโปรแกรมประยุกต์ที่เรียกใช้ในกระบวนการของผู้ปฏิบัติงาน W3wp.exe IIS

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเริ่มต้นการเข้าถึงตัวควบคุมรายการใน Windows 2000 สีขาวกระดาษดังต่อไปนี้ของ Microsoft:
http://technet.microsoft.com/en-us/library/bb742509.aspx
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
329290วิธีการใช้โปรแกรมอรรถประโยชน์ของ ASP.NET เข้ารหัสลับข้อมูลประจำตัวและสายอักขระการเชื่อมต่อสถานะเซสชัน
315158การแก้ไข: ASP.NET ไม่ทำงานกับบัญชี ASPNET เริ่มต้นบนตัวควบคุมโดเมน

คุณสมบัติ

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

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

 

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