วันจันทร์, มิถุนายน 28, 2553

คอนโทรล ยืนยันตัวตน (Authentication)

การเปลี่ยนแปลงที่แสดงในคลาส Membership และคลาส Roles เริ่มมีให้เห็น ตั้งแต่ ASP.NET เวอร์ชั่น 2 ขึ้นไป ที่มา
พร้อมกับ คอนโทรลสำหรับ การยืนยันตัวตนต่างๆ ซึ่งช่วยให้เรา ทำงานกับข้อมูลผู้ใช้ และ เพจอีลีเม้นต์ ในแต่ละโพรไวเดอร์
ได้สะดวกง่ายดายขึ้น

คอนโทรล ด้านการตรวจสอบ อันดับแรกที่จะกล่าวถึง และมีประโยชน์มาก สำหรับใช้เพื่อการยืนยันตัวตน คือ คอนโทรล Login เป็นคอนโทรลที่ มีรูปแบบการผสมผสาน (composite) เพื่อนำชื่อผู้ใช้และรหัสผ่าน เข้าสู่ขั้นตอนการตรวจสอบสิทธิ และล็อกผู้ใช้เข้าระบบ หลักการทำงาน มันจะเรียกใช้ Membership.ValidateUser() และกรณี
ที่การป้อนข้อมูลของผู้ใช้ ตรงกับข้อมูลที่เก็บอยู่ในดาต้าสโตร์ ที่กำหนดโดย MembershipProvider แล้ว FormsAuthentication.SetAuthCookie() จะ ถูกเรียกขึ้นมาทำงาน จากนั้น ผู้ใช้ก็จะผ่านการล็อกอิน เข้ามาใช้งาน

คอนโทรลตัวถัดมาคือ LoginName ทำหน้าที่แสดงชื่อของผู้ใช้ที่ล็อกออนเข้ามาในขณะนั้น การแสดงผล ภายในเพจจะต้องกำหนดแทก ไว้ด้วย และมีพร๊อพเพอร์ตี้ FormatString ที่ช่วยให้เราจัดรูปแบบข้อความพิเศษได้ หากไม่มีผู้ใช้รายใดล็อกออนเข้ามา มันก็จะไม่แสดงอะไรขึ้นมา

สำหรับคอนโทรล LoginStatus มีลักษณะการทำงานเช่นเดียวกับคอนโทรล Login โดยมันจะแทรกแทก ไว้ในเพจ ในกรณีที่ผู้ใช้ไม่ได้ล็อกออนเข้ามา มันจะเตรียมลิงค์ให้กับเพจล็อกออน ที่ระบุแอททริบิ้ว loginUrl ไว้ในอีเลเม้นฟอร์ม จาก web.config เมื่อผู้ใช้ล็อกออนเข้ามา จะมองเห็น LinkButton แสดงแคปชั่น “Logout” ซึงจะเรียกใช้
FormsAuthentication.SignOut()และลบคุกกี้การยืนยันสิทธิของผู้ใช้ออกไป คอนโทรลนี้ยังประกอบด้วยพร๊อพเพอร์ตี้อีกมากมาย ซึ่งจะช่วยให้เราแก้ไขเปลี่ยนแปลงข้อความ และรูปแบบในแต่ละอีเลเม้นท์
คอนโทรล LoginView ใช้เท็มเพลตในการแสดงเนื้อหาที่สัมพันธ์กับสถานะหรือบทบาทของผู้ใช้ที่ล็อกออนเข้ามา วิธีนี้มีประโยชน์สำหรับการแสดงเฉพาะในส่วนเนื้อหา

ไม่มีความคิดเห็น:

แสดงความคิดเห็น