คำถาม:
เว็บไซต์มีชื่อโดเมนระดับสองที่แตกต่างกันสามชื่อ: bbs.xxx.com / main.xxx.com / pay.xxx.com เพื่อให้บรรลุการเข้าสู่ระบบในชื่อโดเมนระดับหนึ่งและสอง ชื่อโดเมนระดับที่สองอื่นๆ ทั้งหมด สามารถเข้าสู่ระบบได้
สารละลาย:
ตั้งค่าแอตทริบิวต์โดเมนของคุกกี้
บทนำโดยละเอียด:
เพียงตั้งค่าโดเมนของคุกกี้ที่จะบันทึกข้อมูลการเข้าสู่ระบบของผู้ใช้ให้เป็นโดเมนเดียวกัน
usercookie.Domain=".xxx.com"; โปรดทราบว่าจะต้องเพิ่ม "." ก่อนชื่อโดเมน
การตั้งค่านี้จำเป็นทั้งเมื่อเข้าสู่ระบบและออกจากระบบ
วิธีการทั่วไปคือการใช้คลาสที่รับผิดชอบในการเข้าสู่ระบบของผู้ใช้โดยเฉพาะเพื่อจัดการธุรกรรมเหล่านี้ ด้วยวิธีนี้ หน้าล็อกอินอื่นๆ จำเป็นต้องเรียกคลาสนี้เท่านั้น และทุกอย่างจะครอบคลุม
และหากคุณใช้ asp.net 2.0 และการรับรองความถูกต้องของแบบฟอร์ม จะมีวิธีที่ง่ายกว่าในการตั้งค่านี้ให้เสร็จสิ้น
เพิ่มการรองรับโดเมนใน web.config แล้ว เพียงทำตามการตั้งค่าต่อไปนี้:
<โหมดการรับรองความถูกต้อง = "แบบฟอร์ม">
<ฟอร์มล็อกอินUrl = "Login.aspx" โดเมน = ".xxx.com" name = ". AutoLinkEduSiteCookie"/>
</การรับรองความถูกต้อง>
โดเมน: แอตทริบิวต์ทางเลือก
ระบุโดเมนเสริมที่จะตั้งค่าในคุกกี้การรับรองความถูกต้องของแบบฟอร์มขาออก การตั้งค่านี้มีความสำคัญเหนือโดเมนที่ใช้ในองค์ประกอบ httpCookies
คุณสมบัตินี้เป็นคุณสมบัติใหม่ใน .NET Framework รุ่น 2.0 ค่าเริ่มต้นคือสตริงว่าง ("")
โปรดทราบว่าไม่ว่าจะใช้วิธีใดก็ตาม ชื่อของคุกกี้จะต้องเหมือนกัน