FormsAuthentication ล้าสมัยหรือไม่ [ปิด]


46

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


3
กำหนด "OK" และ "เลิกใช้แล้ว" และอธิบายว่า "ไม่ชอบ"
Robert Harvey

24
ทำไมคำถามนี้ถึงปิด! OP กำลังถามว่า FormsAuthentication ล้าสมัยใน MVC 5 หรือไม่และมีเทคโนโลยีอื่นที่มาแทนที่ นี่ไม่ใช่คำถามตามความคิดเห็นเช่น "คุณคิดอย่างไรกับการใช้ FormsAuthentication ใน MVC 5"
Tony_Henrich

3
@ Tony_Henrich ใช่ฉันไม่เข้าใจว่าทำไมสิ่งนี้ถึงถูกปิด โชคดีที่โรวันให้คำตอบที่เป็นประโยชน์ก่อนปิดตัวลง บางส่วนจากคำตอบของเขาฉันยังคงใช้ FormsAuthentication ในโครงการ MVC5 ของฉัน
sean717

3
ฉันไม่เข้าใจว่าทำไมสิ่งนี้จึงถูกปิด คำถามนี้ไม่ใช่จุดประสงค์ของการแลกเปลี่ยนสแต็กนี้และไม่ถามคำถามประเภทนี้ใน stackoverflow ใช่หรือไม่
contactmatt

3
ฉันไม่เข้าใจว่าทำไมคำถามนี้จึงปิด โครงการของฉันกำลังโยกย้ายจากเว็บฟอร์ม asp.net 4.0 พร้อมการตรวจสอบแบบฟอร์มไปยัง asp.net 4.5 MVC5 และฉันกำลังค้นคว้าหาวิธีที่ดีที่สุดด้วยรหัสปัจจุบัน โปรดอย่าอนุญาตให้ StackExchange นั้นแย่กว่า Wikipedia
JoshYates1980

คำตอบ:


50

ใช่. FormsAuthentication เลิกใช้ใน MVC 5 และต่อไป

อย่างน้อยนั่นคือคำตอบสั้น ๆ

คำตอบยาวคือแบบฟอร์ม pre-MVC 5 แบบดั้งเดิมการยืนยันยังคงใช้ได้ มันเป็นอย่างไรถูกแบ่งออกในความโปรดปรานของทางเลือกอื่น ๆ เช่นASP.NET เอกลักษณ์

ใน Visual Studio 2013 ตัวเลือกการรับรองความถูกต้องที่มีให้สำหรับและแอปพลิเคชัน MVC 5 มีดังนี้:

ตัวเลือกการพิสูจน์ตัวตน VS2013

ในกรณีนี้บัญชีผู้ใช้ส่วนบุคคลจะหมายถึงASP.NET เอกลักษณ์

ตามที่ Microsoft ระบุว่าอดีตสมาชิก ASP.NETนั้นถูกแทนที่ด้วย ASP.NET Identity

[... ] แอปพลิเคชันตัวอย่างจะได้รับการกำหนดค่าให้ใช้ ASP.NET Identity ( เดิมชื่อสมาชิก ASP.NET )

(เน้นเหมือง)

Microsoft ยังระบุ

ระบบสมาชิกใหม่นั้นใช้ OWIN แทนโมดูลการรับรองความถูกต้องของฟอร์ม ASP.NET

ดังนั้น Identity จึงไม่ได้แทนที่ FormsAuthentication แต่เป็นการแทนที่ระบบสมาชิกที่ใช้ FormsAuthentication สิ่งที่ดีเกินไปเพราะตามคำถามที่ผมถามในปี 2013 เป็นสมาชิกค่อนข้างสับสน

ประเภทของนั้น FormsAuthentication ยังคงมีอยู่แม้ว่า ตามที่ไมโครซอฟท์ ,

ASP.NET ยังมีการสนับสนุนการรับรองความถูกต้องของฟอร์มผ่าน FormsAuthenticationModule ซึ่งอย่างไรก็ตามสามารถรองรับเฉพาะแอปพลิเคชันที่โฮสต์บน ASP.NET และไม่มีการสนับสนุนการอ้างสิทธิ์ นี่คือรายการเปรียบเทียบคุณสมบัติคร่าวๆ: การเปรียบเทียบคุณสมบัติ

ดังนั้นหากคุณยังต้องการใช้นั้น FormsAuthentication ตรวจสอบทำความเข้าใจ OWIN แบบฟอร์มการตรวจสอบใน MVC 5

ดังนั้น Microsoft ขอแนะนำให้คุณใช้ ASP.NET Identity คุณไม่จำเป็นต้องทำแน่นอน คุณสามารถเลือกไม่รับรองความถูกต้องและโครงการจะไม่ดำเนินการใด ๆ ให้กับคุณ แล้วมันเป็นขึ้นอยู่กับคุณที่จะตอบสนองสมาชิก / ความต้องการของคุณเข้าสู่ระบบ


5
OP หรือคำตอบนี้ไม่ได้กล่าวถึงการรับรองความถูกต้องของแบบฟอร์ม ในแอพของฉันฉันไม่ต้องการและไม่ใช้การควบคุมความเป็นสมาชิกในตัวและตาราง SQL Server แต่รับรองความถูกต้องของผู้ใช้โดยใช้รหัสและตารางผู้ใช้ของฉัน จากนั้นเมื่อผ่านการตรวจสอบสิทธิ์แล้วฉันใช้ FormsAuthentication เพื่อสร้างและตั้งค่าคุกกี้รับรองความถูกต้อง ฉันไม่ได้ใช้ ASP.NET Identity แต่ฉันหวังว่าจะรองรับสถานการณ์นี้ด้วย
Tony_Henrich

@Tony_Henrich "รับรองความถูกต้องของผู้ใช้โดยใช้รหัสและตารางผู้ใช้ของฉันจากนั้นเมื่อผ่านการรับรองความถูกต้องแล้วฉันจะใช้ FormsAuthentication ในการสร้างและตั้งค่าคุกกี้รับรองความถูกต้อง" นั่นคือสิ่งที่ฉันทำ ฉันไม่ชอบการควบคุมการเป็นสมาชิก ASP.NET และตาราง SQL Server สำหรับระบบ "การเป็นสมาชิก ASP.NET" ฉันรู้ว่ามันเลิกใช้อย่างแน่นอนและควรหยุดการใช้งาน (ตั้งแต่จริงมาหลายปีแล้ว)
sean717

โครงการโอเพนซอร์ซที่ดีที่ใช้ MVC5 และการรับรองความถูกต้องของรูปแบบที่กำหนดเอง: github.com/YodasMyDad/mvcforum
JoshYates1980
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.