Wednesday, January 21, 2009

System.UnauthorizedAccessException

Acess to the path '...' is denied. (Web application)



# error ของวันก่อนดีนะเก็บไว้อยู่เลยได้มาเขียนใส่ log ตัวเองไว้

# วันก่อนนั่งเอาเว็บที่แก้เสร็จแหละ ขึ้น server และนั่งทำ virtual host สำหรับมัน

# พอลองรันเข้าระบบ อาไรต่างๆ ก็ใช้งานได้ไม่มีปัญหา

# แต่พอมาถึงจาทดสอบออกรายงาน คือ ใช้ crystal report เขียนแบบให้มันอ่านจาก schema อีกที

# แต่มันเขียน schema ลง server ไม่ได้อ่ะดิ มันเลยขึ้น error access denied ประมาณนี้

# ซึ่ง exception นี้มันก็บอก แจงวิธีแก้ไขซึ่งอยู่ในกรอบสีแดงนั้นแหละ


# ซึ่งเค้าเขียนแบบนี้อ่ะ

The grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropraiateuser or group. Highlight the ASP.NET account, and check the boxes for the desired access.

# เค้าบอกประมาณว่าให้เพิ่ม สิทธิ์ให้กับ user ชื่อ ASPNET หน่อยประมาณนั้น

# เราก็ทำตามประมาณที่เค้าบอกซะ

# คลิกขวาที่ directory ของ virtual web เราซะ เลือก Properties => เลือก tab Security

# ขั้นตอนนี้มั่วเอา ที่กรอบ Group or user names: เลือกที่ everyone (ที่จริงต้องเพิ่ม user ชื่อ aspnet แล้วเพิ่มสิทธิ์ต่างห่าง แต่หากเราตั้งที่ everyone เนี๋ย เหมือนเราทำ ^^' ค่อนข้างไม่ปลอดภัยอ่ะนะเนี๋ย ^^') ที่ Write ติ๊กซะให้มันเขียนได้

# มั่วๆ เอาแค่นี้อ่ะ แต่ก็มั่วมีหลักการนะ

# พอเลือก everyone แหละที่กรอบด้านล่าง Permissions for Everyone

# Allow ให้ Write ได้อ่ะ แค่นี้อ่ะ

# มั่วนะเนี๋ย แต่มันใช้ได้ก็เอาแหละ แต่คิดว่ามันคงสงผลต่อความปลอดภัยของเว็บน่าดู - -'

# ไม่ควรทำจริงๆ นะเนี๋ยคิดว่านะ เราควรเพิ่มเป็น asp.net user ดีกว่า อืมแต่ก็ไม่ปลอดภัยอยู่ดี

# ไปอ่านเจอที่บล็อคอาจารย์เราเอง (อ. M) เขียนไว้ถ้าเราไม่มีสิทธิ์ไปตั้งค่า permission ให้ folder ให้เราไปแก้ที่ไฟล์คอนฟิกอ่ะ

<identity impersonate=”true” />

# ใน web.config แค่นี้เอง ตัวเวบเราก็ไม่แคร์ User => ASP.NET และ Network Services แล้ว ถ้ากำหนดค่านี้เป็น True มันจะใช้ User => IUSR_ชื่อเครื่อง เป็นตัวรัน ASP.NET แทนก็จะสามารถ บันทึกไฟล์ลง Server ได้แล้วล่ะครับ

# รู้สึกว่าจะปลอดภัยขึ้นเยอะเลยนะ ขอบคุณ ท่านอาจารย์ เอ็ม มากเลย สำหรับบทความดีๆ ^^' ลอกมาแปะอย่างเดียวเลยเรา ^^'

# คิดว่าปัญหาน่าจะเป็นตัวเดียวกันนะ ไม่แน่ใจเหมือนกัน

Notes:
  • ทำไม M$ WD XP บางตัวมันไม่มี Securiy Tab หว่า แล้วไมบางตัวมีกำจริงๆ
  • เห็นใน XP Sp3 มี Security Tab นะ แต่เราใช้ sp2 ไม่เห็นเลยอ่ะ มันเกี่ยวกับ pack ด้วยมั้ยเนี๋ย
Related Links:
References:

No comments:

Post a Comment

Popular Posts