ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

คอลัมน์เสียงสนับสนุน ASP.NET

การทำความเข้าใจเกี่ยวกับบัตรการรับรองความถูกต้องของฟอร์มและคุกกี้

เมื่อต้องการกำหนดคอลัมน์นี้กับความต้องการของคุณ เราต้องเชิญคุณสามารถส่งแนวคิดของคุณเกี่ยวกับหัวข้อที่สนใจของคุณและการตัดสินค้าจากคลังที่คุณต้องการดู ได้รับการจัดการในอนาคตบทความในฐานความรู้และคอลัมน์เสียงสนับสนุน คุณสามารถส่งความคิดและคำติชมโดยใช้แบบฟอร์มสอบถามสำหรับแฟ้มของคุณ นอกจากนี้ยังมีการเชื่อมโยงไปยังแบบฟอร์มที่ด้านล่างของคอลัมน์นี้

บทนำ

ยินดีต้อนรับสู่คอลัมน์เสียงสนับสนุน ASP.NET Microsoft ฉัน Nilay B. Shah กับทีมสนับสนุนนักพัฒนา ASP.NET ฉันได้รับการทำงานกับ ASP.NET สนับสนุนมากกว่าหนึ่งเท่าครึ่งปี การรับรองความถูกต้องแบบฟอร์มคือจริง ๆ คุณลักษณะเด่น ๆ การรับรองความถูกต้อง บทความนี้ครอบคลุมปัญหาบางอย่างที่ผู้ใช้พบสับสนกับฟอร์มรับรองความถูกต้อง เช่นความสัมพันธ์ของบัตรการรับรองความถูกต้องของฟอร์ม และคุกกี้รับรองความถูกต้องของฟอร์ม และการตั้งค่าที่เกี่ยวข้อง ฉันอยากขอบคุณ Jerry Orman ลูกค้าเป้าหมายทางเทคนิคสำหรับทีมสนับสนุน ASP.NET ขอความช่วยเหลือของเขาใจดีเหลือเชื่อ

คนบางครั้งสงสัยเกี่ยวกับการรับรองความถูกต้องแบบฟอร์ม "บัตรผ่าน" และ "คุกกี้" เนื่องจากพวกเขาเกี่ยวข้องอย่างใกล้ชิด ฉันได้มาข้ามคำถามลักษณะนี้: ทุกคนสามารถอธิบายความแตกต่างระหว่างการหมดอายุของคุกกี้และ ticket หมดอายุหรือไม่ เมื่อคุกกี้หมดอายุ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าการเข้าสู่ระบบ เกิดอะไรขึ้นเมื่อบัตรหมดอายุ จะก็ทำให้คุกกี้หมดอายุหรือไม่ อะไรไม่ SlidingUpdate อัพเดตได้จริงหรือไม่

ฉันจะเน้นในด้านของการรับรองความถูกต้องของแบบฟอร์มเหล่านี้สองในบทความนี้เพื่อตอบคำถามต่อไปนี้:

  • บัตรการรับรองความถูกต้องของฟอร์มและคุกกี้การรับรองความถูกต้องของฟอร์มคืออะไร วิธีที่เกี่ยวข้องหรือไม่

  • บทบาทของ ticket ในการรับรองความถูกต้องของฟอร์มคืออะไร

  • วิธีวันหมดอายุของคุกกี้และวันหมดอายุของตั๋วที่เกี่ยวข้องหรือไม่

  • วิธีไม่ทำงานหมดอายุแถบเลื่อนในบริบทของ ticket รับรองความถูกต้องของฟอร์ม และฟอร์มคุกกี้การรับรองความถูกต้องหรือไม่

  • สามารถตั้งค่าคุณสมบัติการหมดเวลาของ ticket รับรองความถูกต้องของฟอร์มและคุกกี้การรับรองความถูกต้องของฟอร์มที่หรือไม่

  • สถานการณ์สมมติปัญหา: การรับรองความถูกต้องของฟอร์มอาจหมดเวลาก่อนค่าแอททริบิวต์การหมดเวลาที่กำหนดในแฟ้มการกำหนดค่า

บัตรการรับรองความถูกต้องของฟอร์มและคุกกี้การรับรองความถูกต้องของฟอร์มคืออะไร วิธีที่เกี่ยวข้องหรือไม่

คุกกี้การรับรองความถูกต้องของฟอร์มมีอะไรแต่ทคอนเทนเนอร์ ticket รับรองความถูกต้องของฟอร์ม ตั๋วโดยสารจะถูกส่งผ่านเป็นค่าของคุกกี้การรับรองความถูกต้องแบบฟอร์มพร้อมกับร้องขอแต่ละ และถูกใช้ โดยแบบฟอร์มรับรองความถูกต้อง บนเซิร์ฟเวอร์ เพื่อระบุผู้ใช้ที่รับรองความถูกต้อง

อย่างไรก็ตาม ถ้าเราเลือกที่จะใช้การรับรองความถูกต้องของฟอร์ม cookieless บัตรจะส่งผ่านใน URL ในรูปแบบที่เข้ารหัสลับ ใช้การรับรองความถูกต้องแบบฟอร์ม cookieless เนื่องจากบางครั้งที่เบราว์เซอร์ไคลเอนต์บล็อกคุกกี้ คุณลักษณะนี้ถูกนำมาใช้ใน Microsoft .NET Framework 2.0

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ Microsoft Developer Network (MSDN) ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/system.web.configuration.formsauthenticationconfiguration.cookieless.aspx

บทบาทของ ticket ในการรับรองความถูกต้องของฟอร์มคืออะไร

บัตรการรับรองความถูกต้องของฟอร์มจะใช้เพื่อบอกให้โปรแกรมประยุกต์ ASP.NET ว่าคุณเป็นใคร ดังนั้น บัตรเป็นแบบเอกสารสำเร็จรูปของการรักษาความปลอดภัยตรวจสอบแบบฟอร์ม

บัตรถูกเข้ารหัสลับ และการเซ็นชื่อโดยใช้การตั้งค่าคอนฟิกองค์ประกอบ< machineKey >ของแฟ้ม Machine.config ของเซิร์ฟเวอร์ ASP.NET 2.0 ใช้decryptionKeyและแอตทริบิวต์การถอดรหัสลับใหม่ขององค์ประกอบ< machineKey >การเข้ารหัสลับตั๋วการรับรองความถูกต้องของฟอร์ม แอตทริบิวต์การถอดรหัสลับที่ช่วยให้คุณระบุอัลกอริทึมการเข้ารหัสลับเมื่อต้องการใช้ ASP.NET 1.1 และ 1.0 ใช้เข้ารหัสลับ 3DES ซึ่งไม่สามารถกำหนดค่า แทรกแซง ด้วยค่าตั๋วที่ขึ้นอยู่กับความล้มเหลวในการถอดรหัสตั๋วโดยสารบนเซิร์ฟเวอร์ ผลที่ได้ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังหน้าการเข้าสู่ระบบ


ถ้ามีการปรับใช้แอพลิเคชันในฟาร์มเว็บ คุณต้องแน่ใจว่า แฟ้มการกำหนดค่าบนแต่ละเซิร์ฟเวอร์ที่ใช้ร่วมกันค่าเดียวกันสำหรับการvalidationKeyและdecryptionKeyแอตทริบิวต์ในแท็ก< machineKey >ซึ่งใช้สำหรับ hashing และการถอดรหัสของตั๋วโดยสารตามลำดับ คุณต้องทำเช่นนี้ได้เนื่องจากคุณไม่สามารถรับประกันการเซิร์ฟเวอร์ที่จะจัดการการร้องขอต่อเนื่องกัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเข้ารหัสลับFormsAuthenticationTicketและข้อควรพิจารณาเกี่ยวกับการปรับใช้ฟาร์มเว็บ แวะไปที่เว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/ms998288.aspxเดินผ่านวิธีการสร้างคีย์ด้วยตนเองให้ดูที่บทความฐานความรู้ของ Microsoft ต่อไปนี้:

วิธีการ312906เพื่อสร้างคีย์ โดยใช้ Visual C# .NET สำหรับใช้ในการรับรองความถูกต้องของฟอร์ม

วิธีการ313091เพื่อสร้างคีย์ โดยใช้ Visual Basic .NET สำหรับใช้ในการรับรองความถูกต้องของฟอร์ม

สามารถสร้างตั๋วการรับรองความถูกต้องของแบบฟอร์มด้วยตนเอง โดยใช้คลาสFormsAuthenticationTicket สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthenticationticket.aspx

วิธีวันหมดอายุของคุกกี้และวันหมดอายุของตั๋วที่เกี่ยวข้องหรือไม่

ในกรณีที่ไม่ใช่แบบถาวรคุกกี้ ถ้าตั๋วโดยสารหมดอายุ คุกกี้จะหมดอายุนอกจากนี้ และจะถูกเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าการเข้าสู่ระบบ บนอีกด้านหนึ่ง ถ้าตั๋วโดยสารถูกทำเครื่องหมายเป็นแบบถาวร เก็บอยู่บนกล่องของไคลเอ็นต์ คุกกี้เบราว์เซอร์สามารถใช้คุกกี้การรับรองความถูกต้องเดียวกันเพื่อล็อกออนที่เว็บไซต์ใดก็ อย่างไรก็ตาม เราสามารถใช้เมธอดFormsAuthentication.SignOutเพื่อลบแบบถาวรหรือคุกกี้ที่อยู่ถาวรไม่ใช่อย่างชัดเจน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการFormsAuthentication.SignOutแวะไปที่เว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthentication.signout.aspxมีการตรวจสอบแบบฟอร์ม cookieless ถ้าปิดเบราว์เซอร์ ตั๋วโดยสารจะสูญหาย และบัตรใหม่จะถูกสร้างขึ้นบนคำขอถัดไป

วิธีไม่ทำงานหมดอายุแถบเลื่อนในบริบทของ ticket รับรองความถูกต้องของฟอร์ม และฟอร์มคุกกี้การรับรองความถูกต้องหรือไม่

เลื่อนวันหมดอายุทำงานตรงตามตัวอักษร

แจ้งให้เรานำตัวอย่าง: ถ้ามีการเข้าถึงหน้าการเข้าสู่ระบบที่ 5:00 00:00:00 น. นี้ควรหมดอายุที่ 5:10 00:00:00 น.ถ้าแอตทริบิวต์การหมดเวลาเป็น 10 และแอตทริบิวต์slidingExpirationถูกตั้งค่าเป็น TRUE ขณะนี้ ถ้ามีการเรียกดูเว็บเพจใด ๆ อีกครั้งที่ 5:05 00:00:00 น. คุกกี้และรอบระยะเวลาการหมดเวลาของ ticket จะถูกรีเซ็ตเป็น 5:15 00:00:00 น.

หมายเหตุ ถ้าเว็บเพจที่เข้าถึงก่อนครึ่งหนึ่งของเวลาหมดอายุผ่าน เวลาการหมดอายุของบัตรจะไม่สามารถรีเซ็ต ตัวอย่างพื้นหน้า ถ้ามีการเข้าถึงเว็บเพจใด ๆ อีกครั้งที่ 5:04 00:00:00 น. คุกกี้และรอบระยะเวลาการหมดเวลาของ ticket จะไม่ถูกตั้งค่าใหม่

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/1d3t3c61(vs.71).aspx

สามารถตั้งค่าค่าการหมดเวลาของ ticket รับรองความถูกต้องของฟอร์มและคุกกี้การรับรองความถูกต้องของแบบฟอร์มที่ได้อย่างไร

การตั้งค่าเดียวที่คุณสามารถทำได้ในไฟล์ Web.config หรือแฟ้ม Machine.config ในแท็ก<แบบฟอร์ม > การเปลี่ยนแปลงนี้จะกำหนดรอบระยะเวลาการหมดเวลาของแบบฟอร์มรับรองความถูกต้องในบริบทของ ticket หรือคุกกี้ได้ยกเว้นว่าตั๋วโดยสารจะถูกสร้างขึ้นด้วยตนเอง

<!--forms Attributes:
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/1d3t3c61.aspxถ้าบัตรถูกสร้างด้วยตนเอง โดยใช้คลาสFormsAuthenticationTicketคุณสามารถตั้งค่าหมดเวลาเป็นผ่านแอตทริบิวต์การหมดอายุ ค่านี้จะแทนค่าแอททริบิวต์การหมดเวลาที่ระบุในแฟ้มการกำหนดค่า

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสมาชิกFormsAuthenticationTicketแวะไปที่เว็บไซต์ต่อไปนี้:

http://msdn2.microsoft.com/en-us/library/system.web.security.formsauthenticationticket_members.aspx

สถานการณ์สมมติปัญหา: การรับรองความถูกต้องของฟอร์มอาจหมดเวลาก่อนค่าแอททริบิวต์การหมดเวลาที่กำหนดในแฟ้มการกำหนดค่า

ถ้าบัตรการรับรองความถูกต้องของฟอร์มจะถูกสร้างขึ้นด้วยตนเอง คุณสมบัติการหมดเวลาของ ticket จะแทนค่าที่ถูกตั้งค่าในแฟ้มการกำหนดค่า ดังนั้น ถ้าค่านั้นเป็นค่าน้อยกว่าค่าในไฟล์การตั้งค่าคอนฟิก แบบฟอร์มบัตรการรับรองความถูกต้องจะหมดอายุก่อนการกำหนดค่าแฟ้มหมดเวลาแอตทริบิวต์ค่าและกลับกัน ตัวอย่างเช่น สมมติว่า แอตทริบิวต์การหมดเวลา<ฟอร์ม >ถูกตั้งค่าเป็น 30 ในแฟ้ม Web.config และตั้งค่าวันหมดอายุของตั๋วโดยสารเป็น 20 นาที ในกรณีนี้ บัตรการรับรองความถูกต้องของฟอร์มจะหมดอายุหลังจาก 20 นาที และผู้ใช้จะต้องเข้าสู่ระบบอีกครั้งหลังจากที่

การเชื่อมโยงที่เกี่ยวข้อง

910439การแก้ไขปัญหาการรับรองความถูกต้องของฟอร์ม

891032แก้ไขปัญหา ASP.NET

วิธีการ301240ต้องดำเนินการโดยใช้แบบฟอร์มการรับรองความถูกต้องในโปรแกรมประยุกต์ ASP.NET ของคุณ โดยใช้ C# .NET

308157วิธีใช้โดยใช้แบบฟอร์มการรับรองความถูกต้องในโปรแกรมประยุกต์ ASP.NET ของคุณ โดยใช้ Visual Basic .NET

ฉันหวังว่า คุณพบข้อมูลนี้เป็นประโยชน์ใน easing ความสับสนเกี่ยวข้องกับ ASP.NET ticket รับรองความถูกต้องของฟอร์มและคุกกี้บางอย่าง โปรดจำไว้ว่า เสียงสนับสนุนคอลัมน์มีสำหรับคุณ เป็นเสมอ รู้สึกฟรีเพื่อส่งความคิดเห็นบนหัวข้อคุณต้องได้รับการจัดการในอนาคตคอลัมน์ หรือ ในฐานความรู้ของ Microsoft ใช้ใน
ขอให้สำหรับนั้นแบบฟอร์ม

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอบคุณสำหรับคำติชมของคุณ!

×