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
- เข้า ASP.NET Configulation คลิกที่แท็ป Security เช่นเคย
- คลิกที่ Create Access Rules จะปรากฏหน้าจอ Add New Access Rule
- คอลัมน์ซ้ายคลิกเลือกที่ root folder
- Rule applies to :
- Permission : Allow
- คลิกปุ่ม OK
Denying access for all users
- เข้า ASP.NET Configulation คลิกที่แท็ป Security เช่นเคย
- คลิกที่ Create Access Rules จะปรากฏหน้าจอ Add New Access Rule
- คอลัมน์ซ้ายคลิกเลือกที่ Members
- Rule applies to : All users
- Permission : Deny
- คลิกปุ่ม OK
Allowing access to one user — John Oliver
- เข้า ASP.NET Configulation คลิกที่แท็ป Security เช่นเคย
- คลิกที่ Create Access Rules จะปรากฏหน้าจอ Add New Access Rule
- คอลัมน์ซ้ายคลิกเลือกที่ Members
- Rule applies to : Search for users เลือก JohnOliver กด OK
- Permission : Allow
- คลิกปุ่ม OK จะปรากฏหน้าจอ Add New Access Rule
- คลิก Manage access rules
- คลิกที่ Members
- Users and Roles : คลิกที่ JohnOliver
- กดปุ่ม Move Up ให้เลื่อนขึ้นมาบรรทัดบนสุดดังรูป
- คลิกปุ่ม Done
No comments:
Post a Comment