" System.Security.SecurityException: ข้อผิดพลาดในการรักษาความปลอดภัย" ข้อความแสดงข้อผิดพลาดเมื่อมีการให้คะแนนไดเรกทอรีเสมือนการระยะไกลใช้ร่วมกันใน ASP.NET

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

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

อาการ

เมื่อคุณใช้ไดเรกทอรีเสมือนที่ชี้ไปใช้ร่วมกันระยะไกลไปยังโฮสต์การประยุกต์ใช้ ASP.NET Microsoft เป็น คุณอาจได้รับข้อความแสดงข้อผิดพลาดที่คล้ายกับต่อไปนี้:

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

รายละเอียดของข้อยกเว้น: System.Security.SecurityException: ความปลอดภัยข้อผิดพลาด

ข้อผิดพลาดของแหล่งที่มา:

__intialized bool แบบคงที่ส่วนตัวของบรรทัดที่ 30: =เท็จ 31 บรรทัด: 32 บรรทัด: Global_asax() สาธารณะ { 33 บรรทัด: ถ้า ((ASP.Global_asax.__intialized == false)) { 34 บรรทัด: ASP.Global_asax.__intialized =จริง
ข้อความ 2
ข้อผิดพลาดของเซิร์ฟเวอร์ใน ' /applicationname' แอพลิเคชัน

ตัวแยกวิเคราะห์คำอธิบายข้อผิดพลาด: มีข้อผิดพลาดเกิดขึ้นในระหว่างการแยกวิเคราะห์เป็นทรัพยากรที่จำเป็นสำหรับการบริการที่ร้องขอนี้ กรุณาตรวจทานรายละเอียดข้อผิดพลาดในการแยกเฉพาะต่อไปนี้ และปรับเปลี่ยนแฟ้มต้นฉบับของคุณอย่างเหมาะสม

ตัวแยกวิเคราะห์ข้อความข้อผิดพลาด: ไม่ไม่โหลดชนิด 'applicationname.Global '

แหล่งข้อผิดพลาด: บรรทัด 1: < Codebehind="Global.asax.cs % @ โปรแกรมประยุกต์" สืบทอด = "applicationname.Global"%> แฟ้มต้นฉบับ:เส้นทางของแอพลิเคชัน\global.asax บรรทัด: 1

สาเหตุ

กระบวนการSystem.Webไม่มี namespaceAllowPartiallyTrustedCallersAttributeนำไปใช้ได้ สำหรับข้อมูลเพิ่มเติม โปรดแวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft Developer Network (MSDN)::
http://msdn2.microsoft.com/en-us/library/ms994923.aspx
รหัสที่ไม่ได้อยู่ในกลุ่มรหัส My_Computer_Zone ที่ไม่มีแอตทริบิวต์นี้ ต้องการด้านขวาของผู้ใช้ FullTrust ดังนั้น ใช้ร่วมกันระยะไกลที่มีเนื้อหาของเว็บแอปพลิเคชันต้อง FullTrust

การแก้ไข

เมื่อต้องการแก้ไขปัญหานี้ ให้ขวา FullTrust ไปใช้ร่วมกันระยะไกล:
  1. บนเว็บเซิร์ฟเวอร์ เปิดเครื่องมือการจัดการ และจากนั้น คลิกสองครั้งกรอบการทำงานของ microsoft .NET ตั้งค่าคอนฟิก.
  2. ขยายนโยบายความปลอดภัยรันไทม์ขยายMachine :แล้ว ขยายรหัสกลุ่ม.
  3. คลิกขวาAll_Codeแล้ว คลิกใหม่.
  4. เลือกสร้างรหัสกลุ่มใหม่. กำหนดกลุ่มของรหัสชื่อที่เกี่ยวข้อง เช่นชื่อของโปรแกรมประยุกต์ใช้ร่วมกัน คลิกถัดไป.
  5. ในการเลือกชนิดของเงื่อนไขสำหรับกลุ่มนี้รหัสรายการ การเลือกURL:.
  6. ในการURL:กล่อง พิมพ์เส้นทางของใช้ร่วมกันในรูปแบบต่อไปนี้:
    file:////\\computername\sharename\*
    หมายเหตุ:REPLACEcomputernameมีชื่อของคอมพิวเตอร์ที่เป็นโฮสต์ระยะไกลใช้ร่วมกัน REPLACEsharenameมีชื่อใช้ร่วมกัน
  7. คลิกถัดไป. ในหน้าถัดไป เลือกใช้ข้อกำหนดสิทธิ์ที่มีอยู่แล้ว เลือกFullTrust.
  8. คลิกถัดไปแล้ว คลิกเสร็จสิ้น.
  9. รีสตาร์ Microsoft ข้อมูลบริการทางอินเทอร์เน็ต (IIS) รีสตาร์กระบวนการของผู้ปฏิบัติงานของ ASP.NET
ถ้าตั้งค่าคอนฟิกกรอบงาน microsoft .NETไม่ได้แสดงอยู่ภายใต้เครื่องมือการดูแลระบบคุณสามารถติดตั้ง SDK Framework .NET เพิ่มตั้งค่าคอนฟิกกรอบงาน microsoft .NET. อีกวิธีหนึ่งคือ คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อทำการเปลี่ยนแปลง:
Drive:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "file:////\\computername\sharename\*" FullTrust -exclusive on
หมายเหตุ:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับทำงานของอาร์กิวเมนต์เหล่านี้ เรียกใช้คำสั่งต่อไปนี้:
caspol.exe - หรือไม่

สถานะ

ลักษณะการทำงานนี้เกิดจากการออกแบบ

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

ในการกำหนดค่านี้ บัญชีผู้ใช้ภายใต้กระบวนการของผู้ปฏิบัติงาน ASP.NET ทำงานต้องมีสิทธิ์เพียงพอที่จะใช้ร่วมกันระยะไกล คุณสามารถตั้งค่าบัญชีผู้ใช้ภายใต้กระบวนการของผู้ปฏิบัติงานรัน โดยใช้การProcessmodelแท็กในแฟ้ม Machine.config

ขั้นตอนในการทำให้สถานการณ์เกิดขึ้นอีกครั้ง

  1. สร้างเรกทอรีเสมือนแบบใหม่ที่ชี้ไปใช้ร่วมกันระยะไกล
  2. สร้างโปรแกรมประยุกต์สำหรับไดเรกทอรีเสมือน ตรวจสอบให้แน่ใจว่า ผู้ใช้ที่เชื่อมต่อใช้ร่วมกันได้แบบอ่านการเข้าถึงเนื้อหาที่ระยะไกล
  3. ในการProcessmodelแท็กของ Machine.config แฟ้ม เปลี่ยนผู้ใช้ที่เป็นผู้ใช้โดเมนที่มีรายการ อ่าน และการใช้งานสิทธิ์บนใช้ร่วมกันระยะไกล
  4. สร้างแฟ้ม.aspx แบบอินไลน์ และจากนั้น ย้ายแฟ้มในเว็บไซต์ใช้ร่วมกันระยะไกล
  5. ทำการร้องขอสำหรับเพจนี้

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ที่จำเป็นต้องใช้บัญชี ASPNET เพื่อเรียกใช้โปรแกรมประยุกต์ ASP.NET คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
317012ตัวประมวลผลและการร้องขอใน ASP.NET
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัยของ ASP.NET คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
306590ภาพรวมการรักษาความปลอดภัยของ asp.net

คุณสมบัติ

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

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