Thursday, November 1, 2012

เรียนรู้การใช้งาน Login control ใน ASP.Net (ตอนที่1)


จากหนังสือ ASP.NET 2.0 ALL-IN-ONE DESK REFERENCE FOR DUMMIES ของ
Doug Lowe, Jeff Cogswell, and Ken Cox
Book VIII: Advanced ASP.NET Programming
Chapter 1: Security: Using Login Controls
  • ASP.NET มี Controls ต่าง ๆ เกี่ยวกับการ Login , User มาให้ใช้เพื่อช่วยลดการเขียนโค้ดยาว ๆ ลงไปได้อย่างมาก แต่ถ้าเราไม่ต้องการใช้ Login Controls เหล่านี้ก็ได้ โดยลาก Textbox, Label อื่น ๆ มาใส่ในฟอร์มแล้วเขียนโค้ดควบคุมการทำงานทั้งหมดเองหรือจะใช้เป็นบางส่วนก็ได้ขึ้นอยู่กับว่าเราจะเลือกทำแบบไหน แต่ถ้าศึกษาวิธีการใช้ Login Controls เหล่านี้ไว้ก็ไม่เสียหาย อาจจะสามารถนำไปประยุกต์ใช้ได้กับงานของเราบ้างไม่มากก็น้อย
  • ก่อนอื่นมาทำความเข้าใจระหว่าง Authentication และ Authorization
    • Authentication establishes who you are. (ตรวจสอบว่าคุณเป็นใคร)
    • Authorization establisshes what you can do. (กำหนด Role ว่าคุณมีสิทธิ ทำอะไรได้)
  • Create New Website มาชื่อ LoginControl
  • สร้าง Web form ชื่อ default.aspx, login.aspx, register.aspx, reserved.aspx
  • สร้าง Folder ชื่อ members แล้วย้าย reserved.aspx ไปใส่

การตั้งค่า ASP.NET Web Site Administration Tool

  • ไปที่เมนูบาร์ เลือก Website แล้วเลือก ASP.NET Configulation


  • คลิกTab: Security แล้วคลิกที่ลิงค์ Use the security Setup Wizard ... step by step.
  • Step 1 : Welcome Page ให้คลิกปุ่ม Next
  • Step 2 : Select Access Method Page ให้เลือก From the internet แล้วคลิกปุ่ม Next
  • Step 3 : Data Store, Advanced Provider Settings Page ให้คลิกปุ่ม Next
  • Step 4 : Define Roles Page ปล่อยให้ CheckBox หน้า Enable Role... เป็นช่องว่าง แล้วคลิกปุ่ม Finish
  • ไปดูที่ Solution Exploler กดปุ่ม Refresh Folder ถ้าเห็นไฟล์ ASPNETDB.MDF มาเพิ่มใน App_Data แสดงว่าเราสามารถสร้างฐานข้อมูลเบื้องต้นโดยยังไม่ต้องเขียนโค้ดเลย

การสร้าง User โดยใช้ Web Site Administration tool.

  • ไปที่เมนูบาร์ เลือก Website แล้วเลือก ASP.NET Configulation
  • คลิก Tab: Security เลือกคลิกลิงค์ Create user
  • สมมติว่าสร้าง User ใหม่ 2 คนดังนี้

                 คนแรก 
    • Username: JohnOliver                    
    • Password: OliverJoh!  
    • E-mail: jo@nowhere.com 
    • Security Question: Your dog’s name?                  
    • Security Answer: Goldie
                  คนที่สอง   
    • Username: JillAnon
    • Password: AnonJill! 
    • E-mail: ja@nowhere.com
    • Security Question: How high is Up?
    • Security Answer: Very
  • การตั้ง Password ตาม Default ของ ASP.NET ต้องประกอบด้วยตัวอักษรตัวใหญ่ตัวเล็กและอักษระพิเศษ ด้วย ตอนนี้เราจะลองตั้ง Password ตามค่า Default ไปก่อนแล้วช่วงต่อ ๆ ไปค่อยมาหาวิธีการตั้งค่า Password ที่เป็นแบบที่เรากำหนดเองได้

 Creating access rules for the pages

(การกำหนดสิทธิ์ในการเข้าถึงหน้าเวปเพจของผู้ใช้งาน)

ถ้าเราจะอนุญาตให้ทุกคนสามารถเข้าถึง root ได้แต่จะำกำหนดให้เฉพาะบางคนเท่านั้นที่มีสิทธิ์เข้าถึง web pages ที่อยู่ในโฟลเดอร์ members ได้ มีขั้นตอนทำดังนี้

  • Allowing anonymous users access to the root

  1. เข้า ASP.NET Configulation คลิกที่แท็ป Security เช่นเคย
  2. คลิกที่ Create Access Rules จะปรากฏหน้าจอ Add New Access Rule
  3. คอลัมน์ซ้ายคลิกเลือกที่ root folder 
  4. Rule applies to :
  5. Permission : Allow
  6. คลิกปุ่ม OK
  
  •  Denying access for all users

  1. เข้า ASP.NET Configulation คลิกที่แท็ป Security เช่นเคย
  2. คลิกที่ Create Access Rules จะปรากฏหน้าจอ Add New Access Rule
  3. คอลัมน์ซ้ายคลิกเลือกที่ Members
  4. Rule applies to : All users
  5. Permission : Deny
  6. คลิกปุ่ม OK
  •  Allowing access to one user — John Oliver

  1. เข้า ASP.NET Configulation คลิกที่แท็ป Security เช่นเคย
  2. คลิกที่ Create Access Rules จะปรากฏหน้าจอ Add New Access Rule
  3. คอลัมน์ซ้ายคลิกเลือกที่ Members
  4. Rule applies to : Search for users เลือก JohnOliver กด OK
  5. Permission : Allow
  6. คลิกปุ่ม OK จะปรากฏหน้าจอ Add New Access Rule
  7. คลิก Manage access rules
  8. คลิกที่ Members 
  9. Users and Roles : คลิกที่ JohnOliver
  10. กดปุ่ม Move Up ให้เลื่อนขึ้นมาบรรทัดบนสุดดังรูป
  11. คลิกปุ่ม Done
  
 



No comments:

Post a Comment