วิธีการกำหนดค่าโปรแกรมประยุกต์ ASP.NET สำหรับสถานการณ์สมมติการมอบหมาย

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

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

สรุป

บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการตั้งค่าคอนฟิกบริการข้อมูลทางอินเทอร์เน็ต (IIS) และ Active Directory ที่จำเป็นสำหรับการมอบหมายของโปรแกรมประยุกต์ ASP.NET การมอบหมายคือ ขั้นตอนต่อไปหลังจากการเลียนแบบ การมอบหมายสนับสนุนของคุณให้ความสามารถในการเข้าถึงระยะไกลของทรัพยากรในนามของไคลเอ็นต์แทนการเข้าถึงทรัพยากรภายในเท่านั้น บทความนี้อธิบายขั้นตอนที่คุณต้องนำไปใช้การมอบหมายต่อโปรแกรมประยุกต์ ASP.NET เชื่อมต่อ


ข้อกำหนดของการมอบหมาย

การมอบหมายอาศัยอยู่กับการพิสูจน์ตัวจริงของ Windows แบบรวมการเข้าถึงทรัพยากร ไม่มีข้อจำกัดของจำนวนของคอมพิวเตอร์คุณสามารถการมอบหมายต่อบัญชีผู้ใช้--คุณต้องกำหนดอย่างถูกต้องค่าแต่ละแฟ้มเหล่านั้นได้ แบบ Integrated ทำงานวิธีการรับรองความถูกต้องของ Windows ได้หากมีเงื่อนไขที่สองต่อไปนี้:
  • คุณตั้งค่าเครือข่ายของคุณเพื่อใช้โพรโทคอรับรองความถูกต้อง Kerberos ซึ่งต้องใช้ Active Directory
  • คุณตั้งคอมพิวเตอร์และบัญชีบนเครือข่ายของคุณเป็นที่น่าเชื่อถือสำหรับการมอบหมายงาน
หากเงื่อนไขเหล่านี้ไม่จริง คุณไม่สามารถใช้การรับรองความถูกต้องของ Windows แบบรวมการเข้าถึงข้อมูลในทรัพยากรระยะไกลได้เนื่องจากการรับรองความถูกต้องของ Windows แบบรวมช่วยให้คุณเข้าเท่านั้น ไปยังเซิร์ฟเวอร์ IIS และไม่ ให้ทรัพยากรเพิ่มเติมที่กำหนดค่าสำหรับการพิสูจน์ตัวจริงของ Windows ที่เซิร์ฟเวอร์ IIS เข้าถึงระยะไกล

การรับรองความถูกต้องของ kerberos authenticates เซิร์ฟเวอร์และไคลเอนต์ ในขณะที่ Windows NT รองรับ/การตอบรับ (NTLM) authenticates ไคลเอ็นต์เท่านั้น ระบบปฏิบัติการที่ Windows 2000 ไม่สนับสนุนการรับรองความถูกต้อง Kerberos kerberos กำหนดให้คุณใช้ IIS 5.0 หรือรุ่นที่ใหม่กว่า ดังนั้น คุณต้องเรียกใช้ Windows 2000 หรือระบบปฏิบัติการล่าสุดขึ้นบนคอมพิวเตอร์ทั้งหมดที่คุณใช้การมอบหมาย Kerberos นอกจากนี้ คุณต้องย้ายคอมพิวเตอร์ทั้งหมดในฟอเรสต์เดียวกันของ Active Directory เฉพาะ 5.0 Explorer อินเทอร์เน็ตของ Microsoft และรุ่นที่ใหม่กว่าสนับสนุน Kerberosสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
217098ภาพรวมพื้นฐานของโพรโทคอลการรับรองความถูกต้องของผู้ใช้ Kerberos ใน Windows 2000


การตั้งค่าคอนฟิก Internet Explorer สำหรับการมอบหมาย

เมื่อคุณใช้ Internet Explorer 5.0 หรือรุ่นหลัง คุณสามารถกำหนดค่า Internet Explorer สำหรับการ ASP.NET - การมอบหมาย IIS ได้ โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. เริ่ม Internet Explorer บนแถบเมนู คลิกเครื่องมือแล้ว คลิกอินเทอร์เน็ตตัวเลือก.
  2. คลิกการขั้นสูงแท็บ และคลิกเพื่อเลือกนั้นการเปิดใช้การพิสูจน์ตัวจริง Windows แบบรวมที่ (ต้องเริ่มระบบใหม่)กล่องกาเครื่องหมาย

    การตั้งค่านี้อนุญาตให้ Internet Explorer เพื่อตอบสนองต่อการรองรับ Negotiate แล้วการดำเนินการการรับรองความถูกต้องของ Kerberos เนื่องจากคุณลักษณะนี้ต้อง Windows 2000 หรือรุ่นที่ใหม่กว่า เมื่อ Internet Explorer ไม่สามารถทำงานบน Windows 2000 หรือระบบปฏิบัติการรุ่นที่ใหม่กว่า แล้ว Internet Explorer ไม่ตอบสนองต่อการรองรับ Negotiate โดยค่าเริ่มต้น Internet Explorer ใช้รับรองความถูกต้อง NTLM ถึงแม้ว่าคุณคลิกเพื่อเลือกนั้นเปิดใช้งาน Integrated Windows Authentication (ต้องเริ่มระบบใหม่)กล่องกาเครื่องหมาย

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

  3. หมายเหตุ:บนคอมพิวเตอร์ที่รัน Microsoft Windows 2000 และรุ่นที่ใหม่กว่า ผู้ดูแลระบบสามารถกำหนดค่าของการEnableNegotiateรายการ REG_DWORD เป็น 1 ในคีย์รีจิสทรีต่อไปนี้เพื่อเปิดใช้งานการรับรองความถูกต้องของ Windows แบบรวม:
    การตั้งค่าการ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
    .
  4. มีปัญหาบางอย่างที่ Kerberos อาจล้มเหลวบนไคลเอนต์ของ Internet Explorerสำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาที่เกี่ยวข้องกับการรับรองความถูกต้อง Kerberos คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
    321728Internet Explorer ไม่สนับสนุนการรับรองความถูกต้อง Kerberos กับพร็อกซีเซิร์ฟเวอร์
    325608ดุลการโหลด architectures ไม่ได้รับรองความถูกต้องการมอบหมายผ่าน Kerberos
    248350การรับรองความถูกต้องของ kerberos ล้มเหลวหลังจากการปรับรุ่นจาก IIS 4.0 IIS 5.0
    264921วิธี IIS authenticates ไคลเอ็นต์ของเบราว์เซอร์

การตั้งค่าคอนฟิก IIS สำหรับการมอบหมาย

เมื่อต้องการเปิดการเลียนแบบสำหรับโปรแกรมประยุกต์ ASP.NET เชื่อมต่อและการพิสูจน์ตัวจริงของ Windows แบบรวม คุณจำเป็นที่ต้องการตั้งค่าคอนฟิกบริการข้อมูลทางอินเทอร์เน็ต (IIS) การกำหนดค่าสำหรับการพิสูจน์ตัวจริงของ Windows ใน IIS ดำเนินการดังต่อไปนี้:
  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:inetmgrแล้ว คลิกตกลง.
  2. ขยายเครื่องคอมพิวเตอร์แล้ว ขยายเว็บไซต์.
  3. คลิกขวาเว็บไซต์เริ่มต้นแล้ว คลิกคุณสมบัติ.
  4. คลิกการความปลอดภัยของไดเรกทอรีแท็บ แล้วคลิกแก้ไขภายใต้ควบคุมการเข้าถึงและการรับรองความถูกต้องแบบไม่ระบุชื่อ.
  5. คลิกเพื่อเลือกนั้นรวม Windows รับรองความถูกต้องกล่องกาเครื่องหมาย และคลิกเพื่อยกเลิกการการเข้าถึงแบบไม่ระบุชื่อ,ตรวจสอบในการแยกย่อยสำหรับเซิร์ฟเวอร์โดเมนของ Windowsและการรับรองความถูกต้องเบื้องต้นกล่องกาเครื่องหมายไว้

    หมายเหตุ:ถ้ามีการเปิดใช้การรับรองความถูกต้องแบบไม่ระบุชื่อ IIS จะเสมอพยายามรับรองความถูกต้อง โดยการใช้เป็นอันดับแรก ถึงแม้ว่าวิธีการอื่น ๆ จะเปิดใช้งาน

    ถ้าการรับรองความถูกต้องแบบไม่ระบุชื่อ การรับรองความถูกต้องของ Windows แบบรวม และการรับรองความถูกต้องแบบพื้นฐาน ได้ รับรองความถูกทั้งหมดเลือก รวม Windows ต้องใช้เวลาก่อนหน้าผ่านการตรวจสอบเบื้องต้น หลังจากการรับรองความถูกต้องแบบไม่ระบุชื่อ

การตั้งค่าคอนฟิก ASP.NET สำหรับการมอบหมาย

  1. เปิดแฟ้ม Web.config ในตัวแก้ไขข้อความเช่น Notepad แฟ้ม Web.config อยู่ในแอพลิเคชันของเว็บโฟลเดอร์
  2. ในแฟ้ม Web.config ค้นหารายละเอียดต่อไปนี้ในการ <configuration>ส่วน: </configuration>
    <allow users="*" /> 
    <deny users="?" />
  3. ภายใต้<system.web>ส่วน การตรวจสอบว่า มีกำหนดองค์ประกอบของการรับรองความถูกต้องการ</system.web>Windowsต่อไปนี้:
    <authentication mode="Windows" />
  4. ภายใต้การ <system.web>ส่วน เพิ่มองค์ประกอบต่อไปนี้สำหรับการเลียนแบบ: </system.web>
    <identity impersonate="true" />
  5. หากต้องการทราบข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base::
    306158วิธีการใช้การเลียนแบบในโปรแกรมประยุกต์ ASP.NET
    317012ตัวประมวลผลและการร้องขอใน ASP.NET
    315736How to secure an ASP.NET application by using Windows security

Configure Active Directory for Delegation

Delegation must be enabled on all computers with delegate credentials. It can be configured in the Active Directory tools.

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้ของ Microsoft:
Allow a computer to be trusted for delegation
http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx
User and computer accounts
http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx
The core IIS process, InetInfo.exe, is a service that runs under the LocalSystem account, and is the process that does the following:
  • Takes the client request
  • Impersonates the user
  • Performs the appropriate tasks
  • Reverts to the process identity. This isLocalSystem
ถ้าคุณกำลังเรียกใช้ InetInfo.exe ภายใต้บัญชีผู้ใช้ที่แตกต่างจาก LocalSystem คุณต้องตรวจสอบว่า บัญชีผู้ใช้จะได้รับอนุญาตให้ทำหน้าที่เป็นผู้รับมอบสิทธิ์ ในกรณีนี้ ไม่กำหนดเครื่องคอมพิวเตอร์สำหรับการมอบหมายงาน

แก้ไข

  1. ถ้าชื่อของเซิร์ฟเวอร์เว็บที่คุณใช้ใน URL เพื่อเรียกใช้เพจ ASP.NET ไม่ชื่อ NetBIOS คอมพิวเตอร์ IIS พิสูจน์ตัวจริงแบบรวมอาจล้มเหลว ด้วยข้อผิดพลาด 401.3 เมื่อต้องการแก้ไขปัญหานี้ ลงทะเบียนชื่อบริการหลักใหม่สำหรับคอมพิวเตอร์ที่ มีโปรแกรมอรรถประโยชน์ SetSPN.exeสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    294382รับรองความถูกต้องอาจล้มเหลว ด้วยข้อผิดพลาด "401.3" ถ้าของเว็บไซต์ "หัวโฮสต์" ที่แตกต่างจากชื่อ NetBIOS ของเซิร์ฟเวอร์
  2. kerberos ไม่ทำงานในสถาปัตยกรรมที่ดุลการโหลด และ IIS วางกลับไปยังการรับรองความถูกต้องของ NTLM เนื่องจากคุณไม่สามารถใช้ NTLM สำหรับการมอบหมาย โปรแกรมประยุกต์หรือบริการที่จำเป็นต้องการมอบหมายใด ๆ ไม่ทำงานสำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความต่อไปนี้ เพื่อดูบทความในฐานความรู้ของ Microsoft::
    325608ดุลการโหลด architectures ไม่ได้รับรองความถูกต้องการมอบหมายผ่าน Kerberos
  3. สำหรับ Kerberos ในการทำงานอย่างถูกต้อง คุณต้องใช้ชื่อโดเมน(แบบเต็ม FQDN) สำหรับการติดต่อสื่อสารทั้งหมด
  4. เมื่อคุณใช้ Internet Explorer บนไคลเอนต์ Windows 2000 และจากนั้น คุณค้นหาเว็บไซต์ที่เป็นที่แตกต่างจากชื่อ NetBIOS ของคอมพิวเตอร์ของชื่อส่วนหัวของโฮสต์ การพิสูจน์ตัวจริงแบบรวมอาจล้มเหลว ด้วยข้อผิดพลาด 401.3 ได้ หมายเหตุว่า Internet Explorer ไคลเอนต์ที่ใช้ Windows NT 4 หรือ Windows 98 หรือ Windows 95 ไม่จะล้มเหลว นอกจากนี้ โครงร่างการรับรองความถูกต้องอื่น ๆ จะทำงาน
  5. ถ้าเว็บเซิร์ฟเวอร์ที่ใช้ชื่อโดเมน คุณต้องเพิ่มไซต์ถูกเพิ่มลงในรายการของอินทราเน็ตไซต์ใน Internet Explorer เมื่อต้องการตรวจสอบว่า เว็บเซิร์ฟเวอร์ที่ใช้ชื่อโดเมน ดำเนินการดังต่อไปนี้:
    1. เริ่ม Internet Explorer
    2. ในการเครื่องมือเมนู คลิกตัวเลือกอินเทอร์เน็ตแล้ว คลิกการการรักษาความปลอดภัยแท็บ
    3. คลิกเพื่อเลือกLocal Intranet. คลิกไซต์.
    4. คลิกล่วงหน้าและชนิดแล้วเว็บที่อยู่ในนั้นเพิ่มเว็บไซต์นี้ลงในโซนกล่องโต้ตอบ คลิกaddแล้ว คลิกตกลง.
  6. ถ้ามีการตั้งค่าไคลเอ็นต์ของ Internet Explorer จะใช้พร็อกซีเซิร์ฟเวอร์ คุณต้องคลิกเพื่อเลือกนั้นไม่ผ่านพร็อกพร็อกซีเซิร์ฟเวอร์สำหรับที่อยู่ภายในกล่องกาเครื่องหมาย เมื่อต้องการตรวจสอบว่า มีการตั้งค่าไคลเอ็นต์ของ Internet Explorer จะใช้พร็อกซีเซิร์ฟเวอร์ ซึ่งตามขั้นตอนเหล่านี้:
    1. เริ่ม Internet Explorer
    2. ในการเครื่องมือเมนู คลิกตัวเลือกอินเทอร์เน็ตแล้ว คลิกการการเชื่อมต่อแท็บ
    3. คลิกlanการตั้งค่า ภายใต้พร็อกซีเซิร์ฟเวอร์ ตรวจสอบว่า การการไม่ผ่านพร็อกซีเซิร์ฟเวอร์สำหรับที่อยู่ภายในมีเลือกกล่องกาเครื่องหมาย
  7. ถ้าคุณต้องการเข้าถึง SQL Server จากโปรแกรมประยุกต์ ASP.NET เชื่อมต่อของคุณ คุณต้องใช้ TCP/IP กำหนดชื่อ pipes ไม่สนับสนุนการการมอบหมาย Kerberos ชื่อ pipes ใช้ NTLM เท่านั้น การทำเช่นนี้ เพิ่มแอตทริบิวต์ต่อไปนี้ลงในสายอักขระการเชื่อมต่อ:
    "Network Library =dbmssocn"
    ถ้าคุณไม่ได้กำหนดในไลบรารีเครือข่าย NTLM ใช้การตั้งค่าไลบรารีแรกในอรรถประโยชน์การตั้งค่าคอนฟิกไคลเอนต์ (Cliconfg.exe) ค่าเริ่มต้นนี้จากการเปลี่ยนแปลงชื่อ pipes เพื่อ TCP/IP ใน Microsoft Data Access คอมโพเนนต์ (MDAC) 2.6
    หากต้องการทราบข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base::
    315159BUG: pipes ชื่อไม่ทำงานเมื่อกระบวนการของผู้ปฏิบัติงานรันภายใต้บัญชี ASPNET
    247931วิธีการรับรองความถูกต้องสำหรับการเชื่อมต่อกับ SQL Server ในหน้าเซิร์ฟเวอร์ที่ใช้งานอยู่

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการออกแบบเพิ่มเติมการรักษาความปลอดภัยโปรแกรมประยุกต์ที่ใช้เว็บและสถานการณ์การมอบหมาย เยี่ยมชมเว็บไซต์ของ Microsoft สำหรับนักพัฒนาเครือข่าย (MSDN) ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/aa302415.aspx
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการออกแบบโปรแกรมประยุกต์ที่ใช้เว็บมีความปลอดภัย ต่อไปนี้:
โปรแกรม designing ปลอดภัยโดยใช้เว็บประยุกต์"
ข่าวของ Microsoft
Michael Howard, Levy Marc และ Richard Waymire
isbn 0-7356-0995-0

คุณสมบัติ

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

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

 

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