ปัญหา
เมื่อสัปดาห์ก่อน ผมได้เขียน Web Application เล็กๆขึ้นมาตัวหนึ่ง และใช้ MemberShip API เพื่อการจัดการกับผู้ใช้
เมื่อพัฒนาจนกระทั่งเสร็จแล้ว ผมได้ Build และ publish ไปยัง Web Server ปลายทางแล้วทดลองใช้พบว่า
ไม่สามารถ Login เข้าสู่ระบบได้ และปรากฏข้อความดังนี้
“Login attempt unsuccessful, please try again.”
ผมหา หา หา ถาม ถาม ถาม และ รอคอยคำตอบจากบุคคลที่คาดหวังทุกคน
แน่นอนครับผมได้รับคำตอบโดยบังเอิญจากคุณ Scott Guthrie ผ่านทาง google.com
แน่นอนครับผมได้รับคำตอบโดยบังเอิญจากคุณ Scott Guthrie ผ่านทาง google.com
ผมจึงขอนำมาเล่าให้ทุกท่านได้ทราบกันดังนี้ครับ…..
สาเหตุ
ปัญหาดังกล่าวเกิดจากการเรียกใช้ MemberShip Provider แล้วไม่กำหนดค่า ApplicationName ที่ Web.Config
เมื่อไม่มีการกำหนด ระบบจะทำการเขียนทับค่าดังกล่าวให้อัตโนมัต
หากต้องการดูรายละเอียดของ Application สามารถดูได้จากฐานข้อมูล ASPNETDB ตาราง aspnet_application
เมื่อไม่มีการกำหนด ระบบจะทำการเขียนทับค่าดังกล่าวให้อัตโนมัต
หากต้องการดูรายละเอียดของ Application สามารถดูได้จากฐานข้อมูล ASPNETDB ตาราง aspnet_application
และเมื่อเราได้พัฒนาระบบจนกระทั่งเสร็จสิ้นแล้ว การที่เรา Deploy ระบบของเราออกไปย่อมติดค่าดังกล่าวไปด้วย
ทำให้เราไม่สามารถ authenticate user ในระบบได้
ทำให้เราไม่สามารถ authenticate user ในระบบได้
การแก้ไข
1.เข้าไปดูที่ตาราง aspnet_Application แล้วดูว่า ApplicationName มีค่าอะไร จากตัวอย่างมีชื่อว่า WebSite8
2. ให้แก้ไขไฟล์ Web.Config ที่ Root ของ Application แล้วกำหนดคุณสมบัติเพิ่มเติมดังนี้
จากภาพตัวอย่างเป็นการเพิ่ม attribute อันสุดท้ายเข้าไปคือ
applicationName=”/website8”
การป้องกัน
เพื่อไม่ให้มีการเขียนทับค่าที่เราไม่ได้กำหนดนี้
คุณ Scott Guthrie ได้แนะนำว่าให้เรากำหนดไปเลยหรือใส่ค่า “/”
เมื่อเรียกใช้ MemberShip Provider ขึ้นในระบบ
ด้วยการกำหนดที่ Web.Config นี่เอง
คุณ Scott Guthrie ได้แนะนำว่าให้เรากำหนดไปเลยหรือใส่ค่า “/”
เมื่อเรียกใช้ MemberShip Provider ขึ้นในระบบ
ด้วยการกำหนดที่ Web.Config นี่เอง
ขอขอบคุณ
ปัญหาดังกล่าวนี้ได้รับการแนะนำมาจากเพื่อนๆทุกท่าน
ซึ่งต้องขอขอบพระคุณมา ณ โอกาสนี้
ซึ่งต้องขอขอบพระคุณมา ณ โอกาสนี้
1. พี่ปิ๊ก หรือคุณพลรบ สวัสดี PG มือ 1 ของ มหาวิทยาลัยนเรศวรของเรา http://citcoms.nu.ac.th/staff-disd.php
2. คุณนก หรือคุณชนะชัย ณ วิเชียร http://citcoms.nu.ac.th/staff-disd.php
3.คุณ Scott Guthrie หลายเรื่อง หลายบทความดีๆที่ผมไม่อาจหาได้ในหนังสือภาษาไทยhttp://weblogs.asp.net/scottgu/default.aspx
2. คุณนก หรือคุณชนะชัย ณ วิเชียร http://citcoms.nu.ac.th/staff-disd.php
3.คุณ Scott Guthrie หลายเรื่อง หลายบทความดีๆที่ผมไม่อาจหาได้ในหนังสือภาษาไทยhttp://weblogs.asp.net/scottgu/default.aspx
อ้างอิง
บทความนี้อ้างอิงจาก http://weblogs.asp.net/scottgu/archive/2006/04/22/443634.aspx
No comments:
Post a Comment