Select the product you need help with
ตัวประมวลผลและการร้องขอใน 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 ในไดเรกทอรีย่อยจัดรูปแบบของไดเรกทอรีรากการติดตั้ง กระบวนการชื่อผู้ใช้และรหัสผ่าน:แอตทริบิวต์ควบคุมลักษณะเฉพาะของกระบวนการ ค่าเริ่มต้นสำหรับแอตทริบิวต์เหล่านี้เป็นดังนี้:ถ้าคุณต้องการใช้กระบวนการ ที่มีการให้สิทธิการเข้าถึงเพิ่มเติม คุณสามารถตั้งค่านี้ชื่อผู้ใช้คุณลักษณะการระบบ:ซึ่งทำให้กระบวนการของผู้ปฏิบัติงาน ASP.NET ให้ทำงานกับข้อมูลเฉพาะตัวเดียวกันเป็นกระบวนการ Inetinfo.exe กระบวนการ Inetinfo.exe โดยค่าเริ่มต้นทำงานเป็นข้อมูลเฉพาะตัวของระบบ เมื่อคุณตั้งค่าคอนฟิกกระบวนการของผู้ปฏิบัติงาน ASP.NET จะใช้ข้อมูลเฉพาะตัวของระบบ กระบวนการของผู้ปฏิบัติงาน ASP.NET สามารถเข้าถึงเกือบทั้งหมดของทรัพยากรในคอมพิวเตอร์ที่ใช้อยู่ บนคอมพิวเตอร์ที่รัน Windows 2000, Windows XP หรือ Microsoft Windows Server 2003 บัญชีระบบยังมีข้อมูลประจำตัวของเครือข่าย และสามารถเข้าถึงเครือข่ายทรัพยากรเป็นบัญชีของเครื่องจักร การตั้งค่ากระบวนการเรียกใช้เป็นข้อมูลเฉพาะตัวของระบบ เปลี่ยนแปลงนั้นชื่อผู้ใช้คุณลักษณะในการ<processmodel></processmodel>ส่วนต่อไปนี้: สิทธิ์ในการเริ่มต้นสำหรับบัญชี ASPNETบัญชี ASPNET ถูกสร้างเป็นบัญชีภายในเครื่องเมื่อคุณติดตั้ง ASP.NET บัญชี ASPNET เท่านั้นเป็นสมาชิกของกลุ่มผู้ใช้บนคอมพิวเตอร์เครื่องนั้น ดังนั้น ASPNET บัญชีมีสิทธิ์ที่เกี่ยวข้องกับกลุ่มผู้ใช้ และสามารถเข้าถึงทรัพยากรที่กลุ่มผู้ใช้ที่ได้รับการเข้าถึง ทั้งหมด บัญชี ASPNET สืบทอดสิทธิ์ต่อไปนี้ของผู้ใช้จากผู้ใช้ในกลุ่มยุบตารางนี้
ยุบตารางนี้
รายการต่อไปนี้สรุปการเข้าถึงตัวควบคุมรายการ (acl) ที่จำเป็นสำหรับบัญชี ASPNET การติดตั้งเริ่มต้นของ Windows 2000 และ Framework Microsoft .NET รวม acl เหล่านี้
หมายเหตุ:โดยค่าเริ่มต้น บัญชี 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 resourcesTo 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 เมื่อต้องการเปลี่ยนการเข้าถึงรายการของตัวควบคุมสำหรับแฟ้ม ทำตามขั้นตอนเหล่านี้:
(http://support.microsoft.com/kb/306158/
)
วิธีการใช้การเลียนแบบในโปรแกรมประยุกต์ ASP.NET
การใช้ 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:การใช้ฐานข้อมูลโปรแกรมประยุกต์ที่ใช้การรับรองความถูกต้องของ 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 ดำเนินการดังต่อไปนี้:
เซิร์ฟเวอร์ COM ออกกระบวนการเริ่มต้นโปรแกรมประยุกต์ที่ต้องการเริ่มต้นเซิร์ฟเวอร์ COM ออกกระบวนขณะเรียกใช้เป็นบัญชี ASPNET โดยเฉพาะอย่างยิ่งสามารถให้สิทธิ์ เปิดใช้สิทธิ์ให้กับบัญชี โดยใช้เครื่องมือ Dcomcnfg.exeปัญหาการตรวจแก้จุดบกพร่องโดยค่าเริ่มต้น คุณไม่สามารถขั้นตอนในการเรียกการบริการเว็บ XML จากโปรแกรมประยุกต์ไคลเอ็นต์ เมื่อต้องการขั้นตอนในบริการเว็บ XML คุณต้องเพิ่ม ASPNET บัญชีไปยังกลุ่มผู้ใช้ดีบักเกอร์บนคอมพิวเตอร์ที่กำลังเรียกใช้บริการเว็บ XMLเรียกใช้โค้ด identity แบบถาวรใน COM + บริการ คุณสามารถเรียกใช้รหัส ด้วยรหัสประจำตัวแบบถาวร คุณสามารถใช้ได้ServicedComponentคลาสของSystem.EnterpriseServicesnamespace เขียนคอมโพเนนต์การจัดการรหัสที่ใช้ COM + บริการ คุณสามารถตัดการทำงาน privileged ในคลาสที่ได้รับมาจากServicedComponentและเรียกใช้คลาสนี้เป็นโปรแกรมแบบประยุกต์ COM + เซิร์ฟเวอร์กับข้อมูลเฉพาะที่กำหนดไว้การคอมไพล์แฟ้มโค้ด-behind บน UNC ที่ใช้ร่วมกันใน ASP.NET คุณสามารถใช้วิธีการหลายวิธีเพื่อพัฒนาไฟล์แอพลิเคชัน:
Using ASP.NET on a primary or a backup domain controllerBy 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:: 315158 กลับสู่ด้านบน
(http://support.microsoft.com/kb/315158/
)
FIX: ASP.NET does not work with
the default ASPNET account on a domain controllerReading the IIS metabaseThe 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 WMIwindows จัดการ 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 หรือในภายหลัง เมื่อต้องการแก้ไขปัญหา ดำเนินการดังต่อไปนี้:
โต้ตอบกับเดสก์ท็อปเมื่อมีการกำหนดค่าบริการ 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::
(http://technet.microsoft.com/en-us/library/bb742509.aspx)
329290
(http://support.microsoft.com/kb/329290/
)
วิธีการใช้โปรแกรมอรรถประโยชน์ของ ASP.NET เข้ารหัสลับข้อมูลประจำตัวและสายอักขระการเชื่อมต่อสถานะเซสชัน315158
(http://support.microsoft.com/kb/315158/
)
การแก้ไข: ASP.NET ไม่ทำงานกับบัญชี ASPNET เริ่มต้นบนตัวควบคุมโดเมนคุณสมบัติหมายเลขบทความ (Article ID): 317012 - รีวิวครั้งสุดท้าย: 13 มกราคม 2554 - Revision: 5.0
แปลโดยคอมพิวเตอร์ ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:317012
(http://support.microsoft.com/kb/317012/en-us/
)
| การแปลบทความ
|




กลับไปด้านบน








