Custom ClaimsPrincipal หรือ ClaimsIdentity (จะรับสินบนได้ที่ไหน)

ฉันจะขยายฟังก์ชันการทำงานของข้อมูลประจำตัวของ ASP.NET ปัจจุบัน (5.0) เพื่อแก้ไข ID ผู้ใช้จำนวนเต็มและสิทธิ์ด้านความปลอดภัยที่เกี่ยวข้องกับการอ้างสิทธิ์ได้อย่างไร สิ่งนี้ควรจะพร้อมใช้งานภายในจุดเชื่อมต่อบริการเบราว์เซอร์แอปพลิเคชันเว็บของฉันทั้งหมด (ทุกที่ที่มีคุกกี้หรือ JWT) รวมถึงฮับ SignalR, ตัวควบคุม MVC และตัวควบคุม WebAPI ควรทำงานร่วมกับการรับรองความถูกต้องของ OWIN

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

ตั้งค่า HttpContext.Current.User ในทุกการโทรผ่าน global.asax Application_PostAuthenticateRequest ฉันเคยเห็นฟังก์ชันรุ่นเก่า (MVC 4) ที่ล้าสมัยแล้ว ฉันรู้ว่าโดยทั่วไปแล้ว global.asax ไม่ใช่วิธีที่จะไปในวันนี้ ฉันยังใช้ OWIN; สิ่งนี้อาจไม่ทำงานเลยด้วยซ้ำ

แทนที่ ClaimsPrincipal ClaimsAuthenticationManager.Authenticate() ด้วยการกำหนดค่า <system.identityModel><identityConfiguration><claimsAuthenticationManager type = "CustomClaimsAuthenticatonManager" /> อย่างไรก็ตาม ClaimsAuthenticationManager มาจาก System.Identity ซึ่งไม่ได้อยู่ในการอ้างอิงของโครงการ ASP.NET 5.0 ของฉันที่มี ClaimsAuthentication ใช้งานอยู่ แต่ฉันมีการอ้างอิงถึง Microsoft.AspNet.Identity.Core สิ่งต่าง ๆ ในโครงการของฉันจากแพ็คเกจ NuGet ปัจจุบัน ดูเหมือนว่าวิธีนี้ไม่เหมาะสำหรับแอป ASP.NET หรืออย่างน้อยก็ไม่ใช่แอปปัจจุบัน

ตั้งค่า UserManager.ClaimsIdentityFactory เป็น ClaimsIdentityFactory แบบกำหนดเอง โดยมีการแทนที่ CreateAsync ดูเหมือนว่าสิ่งนี้อาจใช้งานได้ แต่ฉันไม่เห็นวิธีใดที่จะต่อกิ่งเข้ากับพฤติกรรมเริ่มต้นของ ASP.NET ปัจจุบัน ดูที่นี่: วิธีตั้งค่า ClaimsPrincipal แบบกำหนดเองใน MVC 5 < /ก>


comment
คุณต้องการใช้กับตารางของคุณเองหรือตารางที่สร้างอัตโนมัติของ Identity หรือไม่?   -  person Win    schedule 23.11.2015
comment
ฉันอยากจะใช้ตารางของตัวเองมากกว่า ตอนนี้ฉันไม่ได้ใช้ทั้งสองอย่างในทางเทคนิค เนื่องจากทั้งการตรวจสอบการอ้างสิทธิ์และการอนุญาตไม่ได้สัมผัสกับ Identity UserStore แน่นอนว่าข้อมูลบัญชีถูกจัดเก็บไว้ในฐานข้อมูลของฉัน   -  person shannon    schedule 23.11.2015
comment
ฉันกำลังพยายามรับชื่อกลุ่มที่เป็นของกลุ่ม SID ฉันกำลังใช้การรับรองความถูกต้องของ windows เพื่อดึงผู้ใช้เข้ามา ฉันจะแปลง GroupSID เป็นชื่อของกลุ่มที่ผู้ใช้เป็นสมาชิกได้อย่างไร   -  person Michael JDI    schedule 22.01.2016
comment
มีอัพเดตเรื่องนี้บ้างไหม? ฉันมีการปรับแต่งบริการต่างๆ เกิดขึ้น แต่กำลังดิ้นรนเพื่อดูว่าผู้ใช้ที่กำหนดเองสามารถเข้าถึงได้จากที่ใดบนคอนโทรลเลอร์ ตามหลักการแล้ว ฉันต้องการให้บางอย่างเช่น IUserContext ส่งผ่านจากคอนโทรลเลอร์ ฉันสามารถเพิ่มการอ้างสิทธิ์ที่สามารถเข้าถึงได้จาก IUserContext เดียวที่สามารถฉีดไปยังคอนโทรลเลอร์ได้   -  person Andez    schedule 09.12.2016