ฐานข้อมูล MDB เป็นเพียงไฟล์อื่นในฮาร์ดดิสก์ ดังนั้นจะพบปัญหาสิทธิ์การเข้าถึงไฟล์เช่นเดียวกับไฟล์อื่นๆ คำถามหมายถึงว่าเพื่อที่จะอ่าน (และเขียน ดังที่คุณจะเห็นต่อไปในหนังสือเล่มนี้) ไฟล์ฐานข้อมูล แอปพลิเคชันที่ทำงานในหน้านั้นจะต้องมีสิทธิ์ที่เกี่ยวข้องในการอ่าน (และเขียน) ในการเขียนของ Windows) ไฟล์.
เหตุผลที่หน้าต่างๆ ในตัวอย่างจนถึงขณะนี้ "ใช้งานได้" ก็เพราะว่าคุณใช้ VWD Web Server ซึ่งเป็นโปรแกรมขนาดเล็กที่ทำงานภายใต้ข้อมูลระบุตัวตนของผู้ใช้ที่ใช้งาน VWD นั่นคือเว็บเซิร์ฟเวอร์ VWD ทำงานเพื่อคุณ และคุณได้รับอนุญาตให้อ่านและเขียนไฟล์ MDB ของการเชื่อมต่อเพจ
อย่างไรก็ตาม เมื่อเรียกใช้เพจภายใต้ IIS สถานการณ์จะซับซ้อนขึ้นเล็กน้อย ณ จุดนี้ เพจ ASP.NET ทำงานภายใต้ข้อมูลประจำตัวของบัญชีผู้ใช้ที่มีข้อจำกัดสิทธิ์เฉพาะ ภายใต้ IIS 5.1 บัญชีนี้คือ "ASPNET" ภายใต้ IIS 6.0 หรือใหม่กว่า บัญชีนี้คือ "บริการเครือข่าย" และเป็นของกลุ่มผู้ใช้ Windows ชื่อ IIS_WPG ("กลุ่มกระบวนการของผู้ปฏิบัติงาน") ในการใช้ฐานข้อมูล Access ภายใต้ IIS บัญชีเหล่านี้ต้องได้รับสิทธิ์ในการอ่าน และสิทธิ์ในการเขียนไปยังไดเร็กทอรีที่มีไฟล์ MDB ตามความเหมาะสม
เพื่อช่วยคุณสร้างสิทธิ์เหล่านี้ VWD จะดำเนินการขั้นตอนเพิ่มเติมและให้สิทธิ์นี้แก่บัญชี ASPNET หรือบริการเครือข่ายโดยอัตโนมัติเมื่อฐานข้อมูลอยู่ในไดเร็กทอรีย่อย App_Data ใต้ไดเร็กทอรีรากของแอปพลิเคชัน หากคุณใช้ VWD เพื่อพัฒนาเพจบนเครื่องของคุณ ไดเร็กทอรีเฉพาะนี้จะได้รับสิทธิ์ที่ถูกต้องเสมอ ไดเร็กทอรี App_Data มีประโยชน์เพิ่มเติม เช่น ป้องกันไม่ให้ไฟล์ใดๆ ภายในไดเร็กทอรีตอบสนองต่อเว็บเบราว์เซอร์ที่ร้องขอ ซึ่งหมายความว่าด้วยการวางไฟล์ MDB ไว้ในไดเร็กทอรี App_Data ในเครื่องของแอปพลิเคชัน คุณสามารถป้องกันไฟล์เหล่านี้จากการถูกดาวน์โหลดโดยไม่ได้ตั้งใจหรือโดยเจตนาโดยไคลเอนต์ของแอปพลิเคชัน ดังนั้น เราขอแนะนำอย่างยิ่งให้บันทึกไฟล์ MDB ลงในไดเร็กทอรี App_Data
หากคุณต้องบันทึกไฟล์ MDB ที่อื่น หรือคุณต้องระบุสิทธิ์สำหรับไดเร็กทอรีฐานข้อมูลด้วยตนเอง (เช่น คุณกำลังทำงานบนเว็บเซิร์ฟเวอร์ระยะไกล) คุณสามารถใช้ Windows เพื่อกำหนดค่าสิทธิ์สำหรับ ASP.NET และ/หรือเครือข่าย บัญชีบริการ
หากคุณต้องการตั้งค่าการอนุญาตด้วยตนเอง โปรดทำตามขั้นตอนด้านล่าง:
(1) ใช้ Windows Explorer เพื่อเรียกดูโฟลเดอร์ที่มีไฟล์ MDB อยู่
(2) คลิกขวาที่ไดเร็กทอรีและเลือก Properties
(3) เลือกแท็บความปลอดภัยแล้วคลิกปุ่มเพิ่ม
(4) เพิ่มบัญชี ASP.NET ภายในเครื่อง (IIS 5.1) หรือกลุ่ม IIS_WPG (IIS 6)
(5) คลิก ตกลง จากนั้นใช้สิทธิ์ที่เกี่ยวข้องกับไดเร็กทอรีนี้
สำหรับข้อมูลเพิ่มเติม ให้ดูเอกสารไวท์เปเปอร์ที่ชื่อ "การเรียกใช้ ASP.NET 1.1 และ IIS 6.0" ซึ่งมีอยู่ในเว็บไซต์ ASP.NET: http://www.asp.net/faq/AspNetAndIIS6.aspx เอกสารไวท์เปเปอร์นี้