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

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 910443 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
คอลัมน์เสียงสนับสนุน ASP.NET

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

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

เนื้อหาบนหน้านี้

คำแนะนำ

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

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

ฉันจะเน้นในด้านของการรับรองความถูกต้องของแบบฟอร์มเหล่านี้สองในบทความนี้เพื่อตอบคำถามต่อไปนี้:
  • อะไรคือฟอร์มคุกกี้ ticket และ formsauthentication รับรองความถูกต้องหรือไม่ วิธีจะเกี่ยวหรือไม่
  • บทบาทของ ticket ใน FormsAuthentication คืออะไร
  • วิธีมีวันหมดอายุของคุกกี้และ ticket expirationrelated หรือไม่
  • วิธีไม่ทำงานหมดอายุแถบเลื่อนในบริบทของ formsauthentication ticket และฟอร์มคุกกี้การรับรองความถูกต้องหรือไม่
  • สามารถตั้งค่าคุณสมบัติหมดเวลาของ ticket รับรองความถูกต้องของฟอร์มและฟอร์ม authenticationcookie ที่หรือไม่
  • สถานการณ์สมมติปัญหา: การรับรองความถูกต้องของฟอร์มอาจเวลา outbefore ค่าแอททริบิวต์การหมดเวลาที่กำหนดในแบบ configurationfile

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

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

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

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

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

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

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

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

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมเว็บไซต์ต่อไปนี้:
http://msdn2.microsoft.com/en-us/library/1d3t3c61 (vs.71).aspx

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

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

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

910439 การแก้ไขปัญหาการรับรองความถูกต้องของฟอร์ม
891032 การแก้ไขปัญหาเบื้องต้น ASP.NET
301240 วิธีการดำเนินการโดยใช้แบบฟอร์มการรับรองความถูกต้องในโปรแกรมประยุกต์ ASP.NET ของคุณ โดยใช้ C# .NET
308157 วิธีการดำเนินการโดยใช้แบบฟอร์มการรับรองความถูกต้องในโปรแกรมประยุกต์ ASP.NET ของคุณ โดยใช้ Visual Basic .NET
ฉันหวังว่า คุณพบข้อมูลนี้เป็นประโยชน์ใน easing ความสับสนเกี่ยวข้องกับบัตรผ่านการรับรองความถูกต้องแบบฟอร์ม ASP.NET และคุกกี้บางอย่าง โปรดจำไว้ว่า เสียงสนับสนุนคอลัมน์ที่มีสำหรับคุณ ตามที่ได้รับการเสมอ รู้สึกฟรีเพื่อส่งความคิดเห็นบนหัวข้อคุณต้องจัดการในอนาคตคอลัมน์ หรือ ในฐานความรู้ของ Microsoft ใช้ใน ขอดังกล่าว แบบฟอร์ม

คุณสมบัติ

หมายเลขบทความ (Article ID): 910443 - รีวิวครั้งสุดท้าย: 21 กันยายน 2556 - Revision: 10.0
ใช้กับ
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Keywords: 
kbhowto kbasp kbmt KB910443 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:910443

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com