เกณฑ์ในการพิจารณาใช้ Web Services
1. การส่งข้อมูลและสื่อสาร ผ่าน FireWall
2. Application Integration
3. Business to Business Integration
4. การนำ Software มา Reuse
เกณฑ์ในการพิจารณาไม่ควรใช้ Web Services
1. การใช้หลายๆ Applications บนเครื่องเดี่ยว
2. การใช้ Application ที่ต่างกัน บน LAN ในขณะที่มีทางเลือกอื่นดีกว่า ไม่ว่าจะเป็น .NET Remoting/DCOM
วันอังคาร, มิถุนายน 29, 2553
วันจันทร์, มิถุนายน 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 ใช้เท็มเพลตในการแสดงเนื้อหาที่สัมพันธ์กับสถานะหรือบทบาทของผู้ใช้ที่ล็อกออนเข้ามา วิธีนี้มีประโยชน์สำหรับการแสดงเฉพาะในส่วนเนื้อหา
พร้อมกับ คอนโทรลสำหรับ การยืนยันตัวตนต่างๆ ซึ่งช่วยให้เรา ทำงานกับข้อมูลผู้ใช้ และ เพจอีลีเม้นต์ ในแต่ละโพรไวเดอร์
ได้สะดวกง่ายดายขึ้น
คอนโทรล ด้านการตรวจสอบ อันดับแรกที่จะกล่าวถึง และมีประโยชน์มาก สำหรับใช้เพื่อการยืนยันตัวตน คือ คอนโทรล Login เป็นคอนโทรลที่ มีรูปแบบการผสมผสาน (composite) เพื่อนำชื่อผู้ใช้และรหัสผ่าน เข้าสู่ขั้นตอนการตรวจสอบสิทธิ และล็อกผู้ใช้เข้าระบบ หลักการทำงาน มันจะเรียกใช้ Membership.ValidateUser() และกรณี
ที่การป้อนข้อมูลของผู้ใช้ ตรงกับข้อมูลที่เก็บอยู่ในดาต้าสโตร์ ที่กำหนดโดย MembershipProvider แล้ว FormsAuthentication.SetAuthCookie() จะ ถูกเรียกขึ้นมาทำงาน จากนั้น ผู้ใช้ก็จะผ่านการล็อกอิน เข้ามาใช้งาน
คอนโทรลตัวถัดมาคือ LoginName ทำหน้าที่แสดงชื่อของผู้ใช้ที่ล็อกออนเข้ามาในขณะนั้น การแสดงผล ภายในเพจจะต้องกำหนดแทก
สำหรับคอนโทรล LoginStatus มีลักษณะการทำงานเช่นเดียวกับคอนโทรล Login โดยมันจะแทรกแทก
FormsAuthentication.SignOut()และลบคุกกี้การยืนยันสิทธิของผู้ใช้ออกไป คอนโทรลนี้ยังประกอบด้วยพร๊อพเพอร์ตี้อีกมากมาย ซึ่งจะช่วยให้เราแก้ไขเปลี่ยนแปลงข้อความ และรูปแบบในแต่ละอีเลเม้นท์
คอนโทรล LoginView ใช้เท็มเพลตในการแสดงเนื้อหาที่สัมพันธ์กับสถานะหรือบทบาทของผู้ใช้ที่ล็อกออนเข้ามา วิธีนี้มีประโยชน์สำหรับการแสดงเฉพาะในส่วนเนื้อหา
วันศุกร์, มิถุนายน 25, 2553
Form Authentication
โหมด Forms ใช้เทคนิคการตรวจสอบสิทธิผ่านทางคุ๊กกี้ (cookie-based authentication) โดยที่เราไม่จำเป็นต้องสร้างรูปแบบ การตรวจสอบสิทธิผ่านคุ๊กกี๊ ด้วยตัวเอง เหมือนในอดีต เนื่องจาก ASP .net ดูแลและจัดการรายละเอียด ด้วยการ กระตุ้นให้เกิด กระบวนการ ให้ได้รับอนุญาติใช้งาน (authorization) ผ่านการยืนยันตัวตน การตรวจสอบสิทธิผ่านทางคุ๊กกี้ ดูขั้นตอนการทำงานประกอบ จากรูปภาพด้านบน
วันศุกร์, มิถุนายน 18, 2553
N-Tire Architecture

Layer หรือ Tier เป็นการวางการทำงานของระบบ แยกออกเป็นส่วน ๆ
โมเดลที่นักพัฒนานิยมนำมาใช้ ประกอบด้วย
1. Microsoft DNA Model แบ่งเป็น 3 Tier หลักๆ คือ Presentation, Business, Data access
2. Core J2EE Model แบ่งหลักๆได้ Client, Presentation, Business, Integration, Resource
3. Brown Model แบ่งได้ Presentation , Controller/Mediator ,Domain ,Data Mapping ,Data Source
การประยุกต์ใช้ ขึ้นอยู่กับขนาดของซอฟต์แวร์ ความเข้าใจของผู้พัฒนา ความเหมาะสมกับงาน “ไม่มีกฎตายตัว” แต่ ถ้าจะนำ Tier/Layer ใดมาใช้ ให้คำนึงถึง การเชื่อมต่อระหว่าง Layer และ วางกลไกลภายในให้ตรงกับลักษณะจุดประสงค์ของ Layer นั้นๆ โดยที่ อาจมีการยุบรวมเข้าด้วยกัน เช่น Façade(Controller) Layer + Application(Business) Logic Layer หรือ แตกย่อย Data Access Layer เป็น Layer อื่นๆ ได้อีก เพื่ออธิบายกระบวนการภายใน เช่น การรับข้อมูล การประมวลผล การจัดเก็บ/แสดงผล
วันพุธ, มิถุนายน 16, 2553
Role-Based Authentication
วิธีนี้ให้ประโยชน์ ในการสร้างเว็พแอพพลิเคชั่น ก็คือการกำหนด สิทธิ แบบ Role-Based Authentication ASP.NET สนับสนุน การยืนยันตัวตน แบบ Role-based โดยเรียกการทำงานของ เมทธอด IsInRole() ของ อินเตอร์เฟซ IPrincipal โดยอินทิเกรทการใช้เข้ากับ การยืนยันตัวตนผ่าน Windows ตัวเมทธอด IsInRole() จะทำหน้าที่ตรวจสอบ กลุ่มผู้ใช้สมาชิกบน Windows ในขณะที่ การยืนยันตัวตนผ่านคุกกี้ จะต้องใช้ role เพื่อการตรวจสอบความปลอดภัย เราจะต้องกำหนด role เหล่านั้น และสร้าง การจับกลุ่มเชื่อมโยง (Mapping) ระหว่างผู้ใช้ กับ roles นั้นๆ ด้วย วิธีที่สะดวก คือการเรียก คลาส GenericPrincipal ให้เรียกใช้เมทธอด IsInRole() ทำงาน โดยการตรวจเช็คชื่อดูว่าชื่อผู้ใช้ที่แอคทีฟอยู่นั้น สัมพันธ์หรืออยู่ใน roles ต่างๆ ที่กำหนดขึ้นหรือไม่
<%! File: global.asax %>
<%@ Import Namespace="System.Security" %>
<%@ Import Namespace="System.Security.Principal" %>
<%! File: global.asax %><%@ Import Namespace="System.Security" %><%@ Import Namespace="System.Security.Principal" %>
<%! File: global.asax %>
<%@ Import Namespace="System.Security" %>
<%@ Import Namespace="System.Security.Principal" %>
<%! File: global.asax %><%@ Import Namespace="System.Security" %><%@ Import Namespace="System.Security.Principal" %>
สมัครสมาชิก:
บทความ (Atom)